HTTP Versions Explained

SAMI
نوفمبر 22, 2025 1 min to read
Share

اليوم باش نقارنو بين نسخ الـ HTTP (HTTP Versions) اللي هي الأساس في كيفاش الويب يوصلنا بالطريقة اللي نعرفوها توا، وبأسهل أسلوب تلقاه على الانترنت. باش نشوفو كل Version بمثال من الواقع، كيفاش يخدم، وشنيا مميزاتو وعيوبو.

المقدّمة

اليوم باش نقارنو بين نسخ الـ HTTP اللي يسهّلو علينا التواصل مع الويب، حضّر قهيوتك ويلا بينا ^^

تشبيه من العالم الحقيقي

تخيّلنا شركات توصيل وبريد:

  • Network: الطرقات والكباري وكراهب التوصيل
  • Client (المتصفح): العبد اللي يطلب أو يبعت طرد
  • Server (الخادم): الشركة أو المخزن اللي يستقبل ويخدم الطلب
  • HTTP Protocol: القوانين اللي تنظّم كتابة العنوان، نوع الطرد، وطريقة الرد
  • TCP/UDP: وسيلة النقل اللي توصل الطرود
  • Data Packets: الطرود اللي فيها أجزاء البيانات
  • Router / Switch: مراكز البريد اللي تحرّك الطرود من بلاصة لبلاصة

💡
وقت نحكيو على HTTP، هو قانون ينظّم كيفاش تبعث وتستقبل الطرود. والنسخ المختلفة ما هي إلا تحسينات باش يكون كل شيء أسرع وأسهل.

توا عنا 3 Versions مستعملين:

الإصدارالسنةالبروتوكول الأساسيالميزة الكبرى
HTTP/1.11997TCPKeep-Alive + Pipelining
HTTP/22015TCPMultiplexing + Binary Framing
HTTP/32022QUIC (UDP)أسرع + Latency أقل + مقاوم لانقطاع

HTTP/1.1 – “ساعي البريد التقليدي”

تخيّل شركة توصيل عندها Connection واحد برك. كل مرّة تبعث طرد لازم يعمل مشوار وحدو، وما ينجمش يشيل أكثر من طرد في نفس الرحلة.
معناها: إذا عندك 10 Requests → يلزمك 10 رحلات، وحدة بوحدة، ولا تجيب Connections برشا.

المميزات

  • سهل وبسيط
  • مدعوم في كل المتصفحات
  • مناسب لحاجات صغيرة أو legacy

العيوب

  • Head-of-Line Blocking: طلب يتأخر → الباقي يستنّى
  • No Multiplexing: اتصال واحد = طلب واحد
  • Headers كبيرة وتعاود تتبعث
  • بطيء لو الصفحة فيها برشا ملفات

HTTP/2 – “شاحنة التوصيل (Multiplexing)”

الشركة حسّنت النظام ولات تستعمل Connection واحد، أما فيه برشا Streams (أرفف).

تنجم تبعث:

  • /index.html
  • /styles.css
  • /script.js

الكل في نفس Connection، كل واحد في رفّ وحدو.

أمّا:
لو Packet تضيع → الباقي يتأخر (مشكل TCP Head-of-Line).

المميزات

  • Multiplexing: تبعث برشا Requests في نفس Connection
  • Header Compression (HPACK): headers مضغوطين وسرعة أعلى
  • Server Push: Server ينجم يبعت حاجة قبل ما تطلبها
  • Binary Framing: تحكّم أسرع
  • Prioritization للملفات

💡 60% من الويب يخدم بـ HTTP/2 لأنه أسرع من 1.1 بفرق كبير.

العيوب

  • مازال فيه TCP Head-of-Line
  • الإعداد أعقد (أغلب الوقت لازم TLS)
  • Debugging أصعب

HTTP/3 (QUIC) – “الدرون السريع”

الشركة عملت Upgrade كبير: ولات تبعث الطرود بـ Drones عوض الشاحنات.
هوني نستعملو UDP اللي أسرع، ومع QUIC نرجّعو مميزات TCP:

  • Reliability
  • Flow control
  • Ordered delivery
  • Congestion control

المميزات

  • لا يوجد Head-of-Line Blocking
  • Handshake واحد (0-RTT)
  • Encryption built-in
  • ممتاز للموبايل (IP يتبدّل → الاتصال يكمل)
  • أداء قوي في الشبكات الضعيفة

مدعوم في Chrome, Edge, Firefox…
و شركات كبار (Google, Cloudflare, YouTube, Meta) يستعملوه.

العيوب

  • مش مدعوم في كل الـ Infrastructure
  • أعقد في الـ Server
  • Debugging أصعب

في الختام

شفنا اليوم نسخ الـ HTTP وشنوة يهمّنا منهم كمبرمجين:

  • HTTP/1.1: مناسب لو System قديم ولا شيء بسيط
  • HTTP/2: أفضل اختيار حاليًا لو تحب دعم كامل وسرعة باهية
  • HTTP/3: ممتاز للـ Streaming والشبكات الضعيفة، وصناعتها ماشية ليه بسرعات كبيرة

Leave a comment

Your email address will not be published. الحقول الإلزامية مشار إليها بـ *