نظرة فاحصة على HTTP / 2: كيف يعمل وماذا يعني للويب
نشرت: 2023-02-09في عام 2015 ، تمت الموافقة على إصدار جديد من بروتوكول شبكة HTTP - HTTP / 2. الآن ، أصبح أكثر شيوعًا: يدعم البروتوكول بالفعل خوادم الويب Apache و Nginx ومتصفحات Chrome و Firefox و Opera و Edge و Safari ، بالإضافة إلى الأجهزة المحمولة.
يتزايد عدد خدمات ومواقع HTTP / 2 باستمرار. في المستقبل القريب ، تنتظر الإنترنت الانتقال إلى بروتوكول جديد ، مما يؤدي إلى تسريع تنزيل موقع الويب.
دعنا نتعرف على كيفية تأثير ذلك على بناء الموقع وتحسين محركات البحث والجوانب الأخرى.
ما هو HTTP / 2؟
تم استخدام بروتوكول HTTP / 1.1 منذ عام 1999 وقد اكتسب مع مرور الوقت مشكلة واحدة مهمة. المواقع الحديثة ، على عكس ما كان شائعًا في عام 1999 ، تستخدم الكثير من العناصر المختلفة: نصوص جافا سكريبت وأنماط CSS وأحيانًا الرسوم المتحركة الفلاش. عندما تقوم بنقلهم جميعًا ، يقوم المتصفح والخادم بإنشاء عدة اتصالات.
يعمل بروتوكول HTTP / 2 على تسريع سرعة مواقع الويب بشكل كبير بسبب الميزات التالية:
- الاتصالات: يمكن إرسال طلبات متعددة عبر اتصال TCP واحد ، ويمكن استلام الردود بأي ترتيب. ليست هناك حاجة للاحتفاظ باتصالات TCP متعددة.
- أولويات الخيط: يمكن للعميل تحديد أولويات الخادم - أي نوع من الموارد أكثر أهمية بالنسبة له من غيرها.
- ضغط الرأس: يمكن تقليل حجم رأس HTTP.
- إرسال البيانات بالدفع من جانب الخادم: يمكن للخادم أن يرسل إلى العميل البيانات التي لم يتم طلبها بعد ، على سبيل المثال ، بناءً على بيانات حول الصفحة التالية التي سيفتحها المستخدمون.
استند تطوير بروتوكول HTTP 2 إلى بروتوكول SPDY الذي طورته Google. لكن Google أعلنت بالفعل أنها سترفض المزيد من دعم SPDY لبروتوكول HTTP / 2 الواعد.
اقرأ: لماذا يكون موقع WordPress الخاص بك بطيئًا وكيفية تسريع ذلك؟
الميزات الرئيسية لـ HTTP / 2
- مضاعفة
- دفع الخادم
- ضغط الرأس
- ترتيب أولويات البث
- التحكم في التدفق
الفرق بين HTTP و HTTP 2
التغييرات التي تم إجراؤها على البروتوكول الأول لا تتطلب الكثير من التعديلات في طريقة عمل التطبيقات. على الرغم من وجود ميزة للتطبيقات الجديدة التي ستعمل على زيادة السرعة. تمت مقارنة الاختلافات الرئيسية بين البروتوكولين أدناه:
ميزة | HTTP | HTTP2 |
---|---|---|
بناء الجملة | البنية عالية المستوى هي نفسها | البنية عالية المستوى هي نفسها |
تأطير البيانات | تأطير البيانات المعدلة | تأطير البيانات المحسن |
استفسارات | استفسارات محدودة | المزيد من الاستفسارات |
استجابة الخادم | استجابة محدودة | استجابة محسنة |
مواقع ويب فعالة | الطلبات المصغرة | كفاءة معززة |
منع رأس الخط | موجود في HTTP | تغلب في HTTP2 |
مضاعفة | غير موجود | حاضر |
ضغط الرأس | غير موجود | حاضر |
طلب ترتيب الأولويات | غير موجود | حاضر |
يوجد أدناه تمثيل مرئي جيد للاختلاف الأساسي بين HTTP / 1 و HTTP / 2 (مجاملة: http: // ruzhekov.com)
إيجابيات وسلبيات HTTP / 2
الايجابيات
- تحسين سرعة تحميل الصفحة
- استخدام أفضل لموارد الشبكة
- زيادة تجربة المستخدم
- توافق أفضل مع تقنيات الويب الحديثة
سلبيات
- يقال أن البروتوكول غير متسق ومعقد
- ينتهك مبدأ طبقات البروتوكول
- يأتي بتكلفة تشفير باهظة
- غير متوافق مع أجهزة معينة مثل أجهزة التوجيه
- يفتقر إلى التشفير الانتهازي
لماذا احتاج العالم إلى HTTP / 2؟
- تم وصف HTTP لأول مرة في عام 1991 وتم اعتماد أحدث إصدار له ، HTTP / 1.1 ، في عام 1999 ولا يزال قيد الاستخدام حتى اليوم.
- نمت أحجام مواقع الويب بشكل ملحوظ على مر السنين ، مما أدى إلى بطء أوقات التحميل والقيود على عدد الاتصالات المتزامنة باستخدام HTTP / 1.1.
- تم تنفيذ حلول مؤقتة مثل تحسين تحميل موقع الويب ، لكنها لا تقدم سوى حل قصير المدى.
- بدأ مهندسو Google العمل على تحسين البروتوكول في عام 2009 ، مما أدى إلى إنشاء بروتوكول SPDY ، وهو أسرع ويدعمه معظم المتصفحات ولكنه يتطلب دعمًا من جانب الخادم.
- يعتمد HTTP / 2 على SPDY وهو متوافق مع الإصدارات السابقة مع HTTP / 1.1. ليست هناك حاجة فورية للترقية ، ولكن في النهاية ، قد يتم تحميل المواقع بشكل أبطأ على البروتوكول الأقدم.
هل HTTP / 2 أسرع حقًا؟
أجرى خبراء HttpWatch العديد من الاختبارات ووجدوا تسارعًا خطيرًا باستخدام HTTP 2.
توضح لقطة الشاشة أدناه سرعة تنزيل الصفحة باستخدام HTTP / 1.1:
وفي لقطة الشاشة هذه - نتيجة استخدام HTTP 2:
زادت سرعة التنزيل بنسبة 23٪. يلاحظ خبراء HttpWatch أيضًا أن التكنولوجيا لم يتم تحسينها بالكامل بعد ، ويتوقعون تسريعًا حقيقيًا يصل إلى 30٪.
لماذا يعمل HTTP / 2 بشكل أسرع؟
- تؤدي الطلبات المتعددة المرسلة ضمن نفس الاتصال في HTTP / 2 (مضاعفة الإرسال) إلى تحميل أسرع للعناصر الثابتة
- يؤدي ضغط رؤوس HTTP في HTTP / 2 إلى تقليل كمية البيانات بين الخادم والمتصفح ، مما يؤدي إلى تحرير الموارد
- أمان محسّن مع اتصالات مشفرة لدعم HTTP / 2 عن طريق المتصفحات الرائجة (Google Chrome ، Mozilla Firefox)
- يتغير ترتيب الأولويات في HTTP / 2 مع اعتبار تحديد الأولويات طريقة مرغوبة لعمل تعدد إرسال مناسب
- يمكن أن يؤدي الافتقار إلى تكوين تحديد الأولويات في HTTP / 2 إلى انخفاض السرعة حيث أن الموارد التي يمكن تحميلها لاحقًا ستأخذ شريطًا منفصلاً وجزءًا من الطاقة.
لماذا من المهم تسريع تحميل صفحة الموقع؟
- دعم HTTP 2 ليس عامل ترتيب مباشر لـ Google
- سرعة التنزيل هي عامل ترتيب مهم لـ Google
- يمكن أن يؤثر HTTP / 2 بشكل إيجابي على سرعة موقع الويب ويؤثر بشكل إيجابي على الترتيب بسبب العوامل السلوكية
- الصفحات الأسرع لها معدل إخفاق أقل وقد تؤدي إلى زيادة تفاعل المستخدم
- سوف يدعم Google Bot قريبًا HTTP / 2
- قد يصبح HTTP 2 عامل ترتيب في المستقبل حيث تقوم محركات البحث بتغيير الخوارزميات.
الفوائد لمطوري الويب
يسمح لك HTTP 2 بالتخلص من الحيل القديمة المصممة لتسريع تحميل الصفحة بدون HTTP / 2. نسرد:
- تقسيم المجال أو استخدام مجالات متعددة ذات صلة لتنزيل الملفات لتمكين إنشاء المزيد من اتصالات TCP.
- النقوش المتحركة من الصور - دمج الصور في ملف واحد لتقليل عدد الطلبات. ومع ذلك ، يجب أولاً تحميل هذا الملف بالكامل ليتم عرضه. بالإضافة إلى ذلك ، تستهلك معالجة الملفات الكبيرة مساحة أكبر من الذاكرة.
- اجمع بين ملفات CSS و JavaScript ، وهو ما يتم أيضًا لتقليل عدد الطلبات وزيادة استخدام الذاكرة أيضًا.
- التضمين المضمن أو وضع CSS و JavaScript ، وأحيانًا الصور داخل ملف HTML ، لتقليل عدد الاتصالات. في نفس الوقت ، لا يتم عرض الصفحة حتى يتم تحميل الملف بأكمله.
- المجالات التي لا تحتوي على ملفات تعريف الارتباط: قم بتنزيل الصور و CSS وجافا سكريبت من مجال آخر حيث لا يتم استخدام ملفات تعريف الارتباط.
كيف يتم تنفيذ HTTP 2؟
لتنفيذ HTTP 2 ، عليك اتباع الخطوات التالية:
- تحقق من دعم الخادم: تأكد من أن برنامج الخادم الخاص بك يدعم HTTP 2. يحتوي برنامج الخادم الشهير مثل Apache و Nginx و IIS على دعم مدمج لـ HTTP 2.
- تمكين HTTP 2: بمجرد التأكد من أن الخادم الخاص بك يدعم HTTP 2 ، ستحتاج إلى تمكينه. تختلف طريقة تمكين HTTP 2 وفقًا لبرنامج الخادم الذي تستخدمه.
- استخدم HTTPS: يتطلب HTTP 2 اتصالاً آمنًا باستخدام HTTPS ، لذلك تحتاج إلى تثبيت شهادة SSL على الخادم الخاص بك.
- تحديث الرمز الخاص بك: إذا كنت تستخدم مكتبة أو إطار عمل يتعامل مع اتصالات HTTP ، فتأكد من أنه يدعم HTTP 2. قد تتطلب بعض المكتبات تحديثات للعمل مع HTTP 2.
- اختبر موقعك: بعد إجراء التغييرات اللازمة ، اختبر موقعك للتأكد من أنه يعمل مع HTTP 2. تحقق من وحدة تحكم المتصفح بحثًا عن أي أخطاء أو تحذيرات.
- مراقبة الأداء: راقب أداء موقعك بانتظام للتأكد من أنه يعمل بسلاسة مع HTTP 2.
- ضع في اعتبارك تحسينات الأداء: سيؤدي تنفيذ HTTP 2 إلى تحسين أداء موقعك ، ولكن قد تظل هناك فرص لمزيد من التحسين. على سبيل المثال ، يمكن أن يؤدي دمج الصور في نقوش متحركة وضغط الصور وتقليل عدد طلبات HTTP إلى تحسين الأداء بشكل أكبر.
خاتمة
HTTP 2 متوافق مع الإصدارات السابقة مع HTTP 1.1 ولا يتطلب الترحيل. ومع ذلك ، نظرًا لأن خوادم الويب والمتصفحات تعتمد HTTP 2 ، فقد تحتاج تقنيات تحسين الموقع إلى التحديث لتجنب إبطاء موقع الويب.
قراءة: دليل كامل عن HTTP إلى HTTPS Migration في WordPress
يؤدي دمج الصور في نقوش متحركة إلى تحسين الضغط وتقليل تنزيل البيانات مع تجنب استخدام Data URI لتضمين الصور يمكن أن يحسن التخزين المؤقت. لم تعد تجزئة المجال ضرورية في HTTP 2 ، لأنها تتيح الطلبات المباشرة للموارد ويمكن أن تقلل الأداء عن طريق إنشاء اتصالات إضافية.
أسئلة مكررة
ما هو استخدام HTTP2؟
HTTP2 هو بروتوكول يستخدم لنقل البيانات عبر الإنترنت ، وتحسين سرعة وأمان تسليم محتوى الويب مثل الصفحات والصور ومقاطع الفيديو من خادم إلى متصفح. يوفر تحميلًا أسرع للصفحة وزيادة الكفاءة مقارنةً بسابقه HTTP 1.1 ، من خلال السماح بإرسال طلبات متعددة واستلامها في نفس الوقت.
ما هو الفرق بين HTTP و HTTP2؟
HTTP2 هو إصدار محدث من HTTP أسرع وأكثر كفاءة من سابقه. يستخدم اتصالًا واحدًا لتحميل موارد متعددة ، بينما في HTTP كانت اتصالات متعددة مطلوبة. يوفر HTTP2 أيضًا ضغط البيانات وتحديد الأولويات ، مما يؤدي إلى أوقات تحميل أسرع للصفحة للمستخدمين.
لماذا لا يتم استخدام http2 على نطاق واسع؟
لا يتم استخدام HTTP2 على نطاق واسع بسبب مشكلات التوافق والتنفيذ. بعض الأجهزة والبرامج القديمة لا تدعم HTTP2 وتتطلب خادمًا مخصصًا وشهادة SSL للتنفيذ.