مقدمة عن HTTP / 2

المُقدّمة

HTTP / 2 هو أحدث مراجعة لـ بروتوكول نقل النص التشعبي أو HTTP [01]، الذي يستخدمه المتصفحات للتواصل مع خوادم الويب. مشتق من SPDY الأقدم [02] بروتوكول ، HTTP / 2 هو أول إصدار جديد من HTTP منذ توحيد HTTP / 1.1 في RFC 2068 في عام 1997.

تم تطويره من قبل مجموعة عمل HTTP الخاصة بفريق هندسة الإنترنت (IETF) httpbis (حيث تعني كلمة "bis" "مرتين") ، ويتم نشرها كـ RFC 7540 [03] مايو 2015.

اعتماد HTTP / 2

تم اعتماد HTTP / 2 بشكل متزايد من قبل مواقع الويب العاملة منذ نشره الرسمي. خدمة المسح عبر الإنترنت W3Techs [04] يشير إلى أنه في الفترة من سبتمبر 2017 إلى سبتمبر 2018 ، ارتفع دعم HTTP / 2 من 16٪ إلى 30٪ من جميع مواقع الويب المراقبة.

علاوة على ذلك ، توفر المتصفحات الرئيسية (مثل Chrome و Firefox و Edge ، إلخ) بالفعل الدعم الكامل لـ HTTP / 2 [05]. (حتى أن بعض التطبيقات التجريبية التي تم تطويرها قبل قبول HTTP / 2 كمعيار.)

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

الدافع وراء HTTP / 2

متتبيسالميثاق [06] يذكر العديد من مكونات HTTP / 1.1 التي يمكن تحسينها كحافز لـ HTTP / 2. ومع ذلك ، كان الهدف الأساسي للمجموعة هو تقليل وقت الاستجابة الذي يراه المستخدم النهائي.

للقيام بذلك، httpbis يعتبر تقليل عرض النطاق الترددي من خلال ضغط الرأس وتقنيات الجلب المسبق العدواني (مثل دفع الخادم) ، بينما يحاول في الوقت نفسه معالجة مشاكل الأداء المعروفة بشكل منهجي مثل ازدحام الاتصال ومشكلة حظر رأس الخط (HoL) [07].

علاوة على ذلك ، كان مطلوبًا أن يكون HTTP / 2 متوافقًا مع الإصدارات السابقة ، مما يعني أنه كان عليه استخدام نفس أفعال الطريقة ورموز الحالة ومعرفات الموارد المنتظمة (URIs) وحقول العناوين (معظم) الموجودة في HTTP / 1.1. كان يجب أيضًا تصميم HTTP / 2 لدعم حالات استخدام HTTP الشائعة ، مثل متصفحات الويب لأجهزة الكمبيوتر المكتبية والمحمولة ، وواجهات البرمجة ، والوكلاء ، والجدران النارية.

للحفاظ على هذا التوافق ، طورت مجموعة العمل آلية للتفاوض على البروتوكول تسمح للعملاء والخوادم بالاختيار من بين بروتوكولات HTTP / 1.1 أو HTTP / 2 أو حتى بروتوكولات غير HTTP.

إذن ما الجديد في HTTP / 2؟

لا يزال HTTP / 2 يستخدم نفس أنظمة URI وأرقام المنافذ المستخدمة في HTTP / 1.1 (أي المنفذ 80 لـ http URIs ، والمنفذ 443 لـ https URIs) ، ولكن يتم إجراء العديد من الأشياء بشكل مختلف تحت غطاء المحرك.

التغيير الأساسي هو إدخال إطارات كوحدة البيانات الأساسية لبروتوكول HTTP / 2.

يستخدم HTTP / 1.1 تقليديا الحزم لتمثيل بيانات الشبكة. يقوم العميل بإنشاء حزمة طلب باستخدام فعل أسلوب (على سبيل المثال GET or POST) ، إلحاق قائمة بالعناوين التي تصف الاتصال ، ونصًا يحتوي على بيانات التطبيق.

عند استلام حزمة طلب ، يستجيب خادم HTTP / 1.1 بحزمة استجابة مشابهة تحتوي على المعلومات المطلوبة. ونتيجة لذلك ، يتطلب كل طلب ودورة استجابة اتصالًا جديدًا.

على العكس ، يقوم عملاء HTTP / 2 بتأسيس اتصال شبكة واحد بالخادم ، يستخدمونه لجميع اتصالات الشبكة اللاحقة. يتم تجميع الرؤوس وبيانات المستخدم ورسائل الخطأ وأية معلومات من هذا القبيل في هياكل بيانات ثنائية مميزة تسمى الإطارات ، قبل إرسالها عبر الشبكة.

يبدو هذا تغييرًا صغيرًا ، لكنه يحمل آثارًا مهمة.

ضغط الرأس

فائدة كبيرة من استخدام الإطارات هو أن رؤوس HTTP / 2 معبأة في HEADER الإطار ، الذي يمكن ضغطه باستخدام طرق الضغط العادية. يجب نقل الرؤوس قبل أي بيانات ، لذلك يمكن أن يؤدي ضغط الرأس إلى تقليل حمل النطاق الترددي الذي تفرضه HTTP / 2.

يمكن أن يكون ضغط الرأس ، جنبًا إلى جنب مع الأداء التالي لتحسين ميزات HTTP / 2 ، مفيدًا بشكل خاص في تطبيقات الهاتف المحمول أو إنترنت الأشياء (IOT) ، حيث يكون الحد الأدنى من استخدام الشبكة مطلوبًا.

تيارات وتعدد

يسمى تسلسل مستقل من الإطارات ذات الصلة بدلالة أ مجرى. يتم تعيين معرفات فريدة للتدفقات بواسطة نقطة النهاية (أي العميل أو الخادم) التي أنشأتها ، بحيث يمكن التمييز بين نقاط النهاية الأخرى فيما بينها.

يمكن أن تتداخل نقاط النهاية مع الإطارات من عدة تدفقات عبر نفس اتصال HTTP / 2 ، مما يسمح باتصال شبكة واحد لدعم العديد من التدفقات المفتوحة بشكل متزامن. مضاعفة [08].

إن إعادة استخدام نفس الاتصال يخفف من مشاكل مثل ازدحام الاتصال ومشكلة HoL المذكورة من قبل ، ويقدم أداء أفضل وتجربة مستخدم أكثر سلاسة من إصدارات HTTP السابقة.

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

إدارة تدفقات متعددة متزامنة يعني أن بعض التدفقات ستتم معالجتها قبل البعض الآخر. يسمح HTTP / 2 للمطور (أو المسؤول) بضبط هذا السلوك بميزة تسمى تبعية تيار.

يمكن أن يعتمد الدفق على النقل الكامل لدفق آخر قبل معالجته. على سبيل المثال ، على موقع حيث يجب تحميل المحتوى الرئيسي لصفحة الويب قبل أي توصيات لمحتوى مماثل ، يسمح HTTP / 2 بإنشاء دفق التوصيات على أنه يعتمد على دفق المحتوى الرئيسي.

يدعم HTTP / 2 أيضًا تحديد أولويات البث. أي أنه يمكن تعيين أولوية لكل تدفق لاقتراح مدى السرعة التي يجب أن تقوم بها نقاط النهاية بتخصيص الموارد للتعامل مع إطارات الدفق.

يساعد تحديد الأولويات والدفق المطورين ومالكي مواقع الويب على تحسين استخدام شبكة مواقعهم ، مما قد يؤدي إلى تحسين تجربة مستخدم مواقعهم بشكل كبير.

دفع الخادم

أخيرًا ، يمكن لـ HTTP / 2 تحسين أداء موقع الويب من خلال توفير وظيفة "الدفع". يمكن لخادم الويب HTTP / 2 الاستجابة بالبيانات لمزيد من الاستفسارات أكثر مما طلبه العميل في الأصل. يسمح هذا للخادم بتوفير البيانات التي يعرف أن متصفح الويب سيحتاجها لعرض صفحة ، دون انتظار المتصفح لفحص الاستجابة الأولى ، وبالتالي بدون تحميل دورة طلب إضافية.

يمنح دفع الخادم المطورين تحكمًا كاملاً في عدد الطلبات المطلوبة لمتصفح لعرض موقع الويب الخاص بهم. عند استخدامها بشكل صحيح ، يمكن لهذه الميزة تقليل حمل الشبكة.

بطبيعة الحال ، يمكن أن يؤدي سوء استخدام ميزة الدفع إلى إضاعة المزيد من النطاق الترددي أكثر مما هو ضروري في الواقع. لهذا السبب ، يسمح HTTP / 2 للعميل بطلب تعطيل دفع الخادم عند التفاوض على الاتصال لأول مرة.

أمان HTTP / 2

إذا كنت قد قرأت حتى هذه النقطة ، فيجب أن يكون واضحًا أن مطوري HTTP / 2 يبذلون بالفعل جهدًا لتحسين الأداء. ومع ذلك ، تجدر الإشارة إلى أن HTTP / 2 يمكن أن يساعد أيضًا في تحسين أمان مستخدمي المتصفح بشكل عام.

بشكل أكثر تحديدًا ، يتم تعريف HTTP / 2 لكل من عناوين URL لـ HTTP (أي بدون تشفير) و HTTPS URIs (عبر TLS القنوات المشفرة). على الرغم من أن المعيار نفسه لا يتطلب استخدام التشفير ، إلا أن جميع تطبيقات المتصفح الرئيسية (مثل Firefox [09]و Chrome و Safari و Opera و IE و Edge) قرروا ذلك فقط دعم HTTP / 2 أكثر TLS.

في الواقع ، تميز المتصفحات بين النص الواضح HTTP / 2 و HTTP / 2 عبر التشفير TLS كبروتوكولين مختلفين. يسمى HTTP / 2 المشفر h2 ونص واضح h2c. حتى كتابة هذه السطور ، لا يدعم أي من المتصفحات الرئيسية h2c ، مما يعني أن TLS التشفير إلزامي لموقع ويب للاستفادة من مزايا HTTP / 2 الأخرى. ومن ثم ، عندما يصبح HTTP / 2 هو بروتوكول شبكة الويب الافتراضي ، فإن مالكي مواقع الويب القديمة الذين لم يقوموا بالترقية إلى SSL /TLS، سيكون لديهم دافع قوي للقيام بذلك أخيرًا.

وفي الختام

سيؤدي اعتماد HTTP / 2 على نطاق واسع إلى إنشاء موقع ويب جديد ومحسن. إنه أسرع ، ويحتاج إلى عرض نطاق ترددي أقل ويساعد مواقع الويب على البقاء آمنًا. من المؤكد أن اعتماده السائد سيجعل تجربة مستخدمي الويب بشكل عام أكثر سلاسة وأمانًا.

احصل على شهادة اليوم وانضم إلينا في المستقبل.

مراجع حسابات

  1. بروتوكول HTTP
  2. بروتوكول SPDY
  3. مواصفات HTTP / 2
  4. مسح اعتماد W3Techs HTTP / 2
  5. اعتماد HTTP / 2 في المتصفحات
  6. ميثاق httpbis
  7. حظر هول
  8. مضاعفة
  9. Firefox على HTTP / 2

اشترك في النشرة الإخبارية لـ SSL.com

لا تفوت المقالات والتحديثات الجديدة من SSL.com

ابق على اطلاع وآمن

SSL.com هي شركة عالمية رائدة في مجال الأمن السيبراني، PKI والشهادات الرقمية. قم بالتسجيل لتلقي آخر أخبار الصناعة والنصائح وإعلانات المنتجات من SSL.com.

نحن نحب ملاحظاتك

شارك في استبياننا وأخبرنا بأفكارك حول عملية الشراء الأخيرة.