استنادًا إلى الإعلان السابق، سيتم إيقاف ميزة "إرسال البيانات من الخادم" في بروتوكول HTTP/2 تلقائيًا في الإصدار 106 من Chrome والمتصفحات الأخرى المستندة إلى Chromium في إصداراتها التالية.
لماذا تتم إزالة هذا المحتوى؟
سمحت ميزة "دفع الخادم" في HTTP/2 للمواقع الإلكترونية بإرسال الموارد التي تحتاجها الصفحة بشكل استباقي بدلاً من الانتظار إلى أن يتم طلبها. ومع ذلك، كان هذا الإجراء مشكلة كما كتب جيك أرشيبالد سابقًا، وكان من الصعب في كثير من الأحيان تحقيق مزايا الأداء. نتيجةً لذلك، لم يتم استخدام هذه الميزة كثيرًا، إذ تستخدِم هذه الميزة% 1.25 فقط من المواقع الإلكترونية التي تستخدم HTTP/2.
أسفر تحليل استخدام ميزة "دفع الخادم" في HTTP/2 عن نتائج مختلطة (Chrome وAkamai)، بدون تحقيق مكاسب واضحة في الأداء، وفي كثير من الحالات، أدّى ذلك إلى تراجع الأداء.
لم يتم تنفيذ ميزة "الدفع" في العديد من خوادم HTTP/3 وعملائها، على الرغم من أنّها كانت مضمّنة في المواصفات. بالنسبة إلى الكثير من المواقع الإلكترونية التي تستخدم الإصدار الأحدث من HTTP/3، تم إيقاف بروتوكول Push نهائيًا. عند إعادة إجراء هذا التحليل مؤخرًا، تبيّن لنا أنّ نسبة المواقع الإلكترونية التي تتيح استخدام HTTP/2 قد انخفضت من% 1.25 إلى %0.7.
بدائل ميزة "دفع الخادم" في HTTP/2
103 Early Hints هو بديل أقل عرضة للخطأ ويقدّم العديد من المزايا نفسها التي يوفّرها Push، مع عدد أقل بكثير من الجوانب السلبية. بدلاً من أن يرسل الخادم الموارد، تُرسِل إشارات 103 Early Hints إشارات فقط إلى المتصفّح بشأن الموارد التي قد يستفيد من طلبها على الفور. ويسمح ذلك للمتصفّح بالتحكّم في قرار ما إذا كان يحتاج إلى هذه الموارد أم لا، على سبيل المثال إذا كانت هذه الموارد متوفّرة في ذاكرة التخزين المؤقت لبروتوكول HTTP.
يُعدّ التحميل المُسبَق للموارد المهمة بديلاً آخر يسمح للصفحة والمتصفّح بالعمل معًا لتحميل الموارد المهمة بشكل استباقي في وقت مبكر من تحميل الصفحة. على الرغم من أنّ هذا الإجراء يتطلّب إرسال الصفحة نفسها أولاً، وبالتالي ليس سريعًا مثل ميزة "دفع الخادم" أو ميزة "الإشارات المبكّرة"، إلا أنّه يقدّم ميزة إضافية تتمثل في عدم تأخير عرض هذا المورد المهم للصفحة، وهو ما يمكن أن يحدث مع كلا الحلّين.
الخاتمة
يجب أن يكون بإمكان الويب تجربة أشياء ورفضها عندما لا يتم استخدامها. على الرغم من أنّ إمكانات ميزة "الدفع" بدت رائعة، إلا أنّ استخدامها في الواقع كان أكثر صعوبة مما كان متوقّعًا. ومع ذلك، تعلمنا الكثير من ميزة "الدفع" الذي تم استخدامه في تصميم 103 إشارات مبكّرة. حان الآن وقت إكمال عملية التقدّم والابتعاد عن ميزة "الدفع".
الموارد
- جميع عمليات الإيقاف النهائي والإزالة في Chromium
- إدخال ChromeStatus: إزالة ميزة HTTP/2 push
- نية الإزالة: HTTP/2 وgQUIC server push
- مشكلة في Chromium: إيقاف ميزة HTTP/2 Push تلقائيًا