ما هو HTTP / 2 وماذا يفعل؟



جرب أداة القضاء على المشاكل

في السنوات العشرين الماضية ، تطورت شبكة الويب العالمية بشكل كبير. تتطلب جميع تقنيات الويب المحسّنة حلولًا وبروتوكولات أفضل وأسرع للاتصال ونقل الملفات من تلك الحالية (HTTP) التي تصل إلى حدودها التكنولوجية.





ما هو HTTP / 2؟

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



ماذا يفعل HTTP / 2؟

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

يحدد كل من HTTP أو HTTP / 2:

  • الإجراءات التي يجب أن تتخذها متصفحات الويب والخوادم استجابة لأوامر مختلفة.
  • كيف يتم نقل كل جزء من المعلومات من كمبيوتر إلى كمبيوتر آخر عبر الويب.
  • كيف يتم إنشاء الرسائل وتنسيقها ونقلها.

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



تيارات متعددة

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

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

فوائد:

  • الطلبات والاستجابات متعددة الإرسال المتوازية لا تمنع بعضها البعض.
  • يمكن أن يضمن اتصال TCP واحد الاستخدام الفعال لموارد الشبكة حتى عند إرسال تدفقات بيانات متعددة.
  • أداء ويب أسرع ، ووقت استجابة أقل ، ونتائج أفضل لمحركات البحث.
  • تقليل النفقات الرأسمالية والتشغيلية في تشغيل موارد الشبكة وتكنولوجيا المعلومات.

دفع خادم HTTP / 2 ودفع ذاكرة التخزين المؤقت

هذه هي القدرة التي تسمح للخوادم بإرسال معلومات إضافية قابلة للتخزين المؤقت للعملاء . هذه المعلومات غير مطلوبة ولكن متوقعة للطلبات المستقبلية. إذا طلب العميل موردًا واحدًا A وكان من المعروف أن موردًا آخر B يُشار إليه بالمورد المطلوب ، فيمكن للخادم دفع B إلى A بدلاً من انتظار طلب عميل آخر. ثم يحفظ العميل المورد المدفوع B في ذاكرة التخزين المؤقت للاستخدام في المستقبل. توفر هذه الميزة عملية ذهاب وإياب كاملة للطلب والاستجابة وتقلل من زمن انتقال الشبكة. قدمت Google في الأصل Server Push في بروتوكول SPDY.

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

فوائد:

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

البروتوكولات الثنائية

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

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

فوائد:

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

ترتيب أولويات البث

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

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

فوائد:

  • تقليل الآثار السلبية لمخاوف زمن انتقال الشبكة.
  • تحسين تجربة المستخدم وسرعة تحميل الصفحة.
  • تحسين اتصال البيانات بين الخوادم والعملاء.
  • استخدام موارد الشبكة بشكل فعال للغاية.
  • تقليل وقت التسليم لطلبات المحتوى الأساسي.

ضغط الرأس ذو الحالة

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

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

فوائد:

  • يشفر الرؤوس الشائعة الاستخدام والرؤوس الكبيرة. هذا يلغي الحاجة إلى إرسال إطارات رأس كاملة. يتقلص الحجم الفردي لكل تيار بشكل ملحوظ.
  • منع هجمات الأمان مثل استكشاف دفق البيانات باستخدام الرؤوس المضغوطة CRIME.
  • الاستخدام الفعال لآليات مضاعفة الإرسال.
  • كفاءة تدفق الأولوية.
  • تقليل عبء الموارد.

فوائد HTTP / 2 في العالم الحقيقي

يركز HTTP / 2 على تعظيم إمكانات التكنولوجيا لتلبية الاحتياجات والتوقعات المستقبلية. فيما يلي الفوائد الواقعية لاستخدام HTTP / 2.

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

أرخص إنترنت عالي السرعة - HTTP / 2 يزيد من فعالية اتصال البيانات. يسمح ذلك لمزودي الإنترنت بتقليص النفقات الإجمالية مع الحفاظ على معايير الإنترنت عالي السرعة.

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

وصول واسع - تقلل مزايا HTTP / 2 نتائج الإنترنت لمقدمي الخدمة. سيؤدي ذلك إلى تغطية إنترنت أوسع على مستوى عالمي.

تجربة ويب غنية بالوسائط - توفر ميزات ومزايا التكنولوجيا التي يجلبها HTTP / 2 إلى شبكة الويب العالمية بنية تحتية قادرة على تقديم محتوى غني بالوسائط بسرعات تحميل أسرع للصفحة.

يتم إحتوائه

HTTP / 2 هو بروتوكول جديد نسبيًا ، لكن الدعم له ينمو باستمرار. في الوقت الحاضر ، تدعم معظم متصفحات الإنترنت HTTP / 2 (Microsoft Edge و Google Chrome و Safari و Firefox و Chrome لنظام Android). تتضمن العديد من خوادم الويب دعم HTTP / 2 الأصلي (خادم Apache HTTP و Tomcat و NGINX). بدون شك ، HTTP / 2 هو بروتوكول WWW للمستقبل.

5 دقائق للقراءة