HTTP/2

البروتوكولات والمعايير
إصدار رئيسي من HTTP يضيف تعدد الإرسال وضغط الترويسات وأداءً أفضل من HTTP/1.1.
← العودة إلى القاموس

ما هو HTTP/2؟

HTTP/2 مراجعة رئيسية لبروتوكول HTTP (موحّدة في RFC 7540)، تقدم التأطير الثنائي وتعدد الإرسال وضغط الترويسات ودفع الخادم لتحسين أداء الويب بدرجة كبيرة مقارنةً بـ HTTP/1.1.

HTTP/2 مقابل HTTP/1.1

الميزةHTTP/1.1HTTP/2
التنسيققائم على النصثنائي
الاتصالاتمتعددة (6-8 لكل مضيف)اتصال واحد متعدد الإرسال
معالجة الطلباتمتسلسلةتدفقات متوازية
ضغط الترويساتغير متاحضغط HPACK
دفع الخادمغير متاحمدعوم
تحديد الأولويةغير متاحأولويات للتدفقات

كيف يعمل HTTP/2؟

HTTP/1.1 (Head-of-Line Blocking):

Connection 1: Request A ──────────► Response A

Connection 2: Request B ──────────► Response B

Connection 3: Request C ──────────► Response C

(Multiple connections, sequential per connection)

HTTP/2 (Multiplexing):

Single Connection:

├── Stream 1: Request A ──► Response A

├── Stream 2: Request B ──► Response B

├── Stream 3: Request C ──► Response C

└── All interleaved on same connection

الميزات الرئيسية

طبقة التأطير الثنائي

HTTP/2 Frame Structure:

┌─────────────────────────────────────┐

│ Length (24 bits) │

├─────────────────────────────────────┤

│ Type (8 bits) │ Flags (8 bits) │

├─────────────────────────────────────┤

│ Stream Identifier (32 bits) │

├─────────────────────────────────────┤

│ Frame Payload (variable) │

└─────────────────────────────────────┘

ضغط ترويسات HPACK

السيناريوترويسات HTTP/1.1ترويسات HTTP/2
الطلب الأول~800 بايت~800 بايت
الطلبات اللاحقة~800 بايت لكل طلب~20-50 بايت (مفهرسة)

تحديد أولوية التدفقات

Priority Tree:

Root (connection)

├── CSS (weight: 256, high priority)

├── JavaScript (weight: 220)

└── Images (weight: 110, lower priority)

متطلبات الخادم

الخادمدعم HTTP/2
nginx (خادم ويب)1.9.5+ (إصدار يدعم البروتوكول)
Apache (خادم ويب)2.4.17+ (وحدة HTTP/2)
Node.js (بيئة تشغيل)8.4+ (دعم أصلي للبروتوكول)
IIS (خادم ويب)Windows 10/Server 2016+ (إصدار يدعم البروتوكول)

فوائد الأداء

أفضل الممارسات

1. فعّل TLS: يتطلب HTTP/2 عملياً استخدام HTTPS (وتفرض المتصفحات ذلك).

2. قلل تقسيم النطاقات: تضر النطاقات المتعددة بالأداء الآن.

3. توقف عن دمج الملفات: يجعل تعدد الإرسال تجميع الملفات أقل ضرورة.

4. استخدم دفع الخادم بحذر: ادفع الموارد المهمة فقط.

5. راقب الأداء: تحقق من أن HTTP/2 يحسن حالة الاستخدام الخاصة بك.

يوفر HTTP/2 تحسينات كبيرة في الأداء لمعظم مواقع الويب من خلال استخدام اتصالات الشبكة بكفاءة أعلى.

استفد من هذه المعرفة

استخدم API الخاص بـ DomScan للتحقق من توفر النطاقات وصحتها والمزيد.