مقدمة إلى HTTP / 2 لـ WordPress

مقدمة إلى HTTP / 2 لـ WordPress

يعد HTTP / 2 أحد أهم المعالم التي يجب تقديمها في الويب الحديث. تسلط هذه المقالة الضوء على الحالة الحالية لـ HTTP وتقدم الفوائد الأساسية (وبعض المفاهيم غير الفنية) لـ HTTP / 2. سنتعلم أيضًا كيفية تنفيذ HTTP / 2 لـ WordPress في 2018.

تاريخ موجز لـ HTTP

يرمز HTTP إلى بروتوكول Hypertext Transfer Protocol ، الذي أنشأه Tim Berners Lee في عام 1991. تيم هو الرجل الذي يجب أن نشكره على شبكة الويب العالمية. HTTP هو أحد بروتوكولات التطبيقات الأكثر انتشارًا والأكثر اعتمادًا على الإنترنت. لكنها ليست الوحيدة.

انتظر لمدة ثانية. لقد أبرزت بروتوكولات تطبيق العبارة . لماذا هذا؟ ترى ، الإنترنت هو في الواقع تكوين من أربع طبقات هرمية من البروتوكولات. تتكون كل طبقة من عدد من البروتوكولات وهي مسؤولة عن وظيفة أساسية .

عند الابتعاد قليلاً ، هناك أربع طبقات في مجموعة بروتوكول الإنترنت (IP):

  1. طبقة التطبيقات
  2. طبقة النقل
  3. طبقة الإنترنت
  4. طبقة الارتباط

دون الخوض في الكثير من التفاصيل ، فإن الطبقات الثلاث الأخيرة (مثل طبقات النقل والإنترنت والارتباط) هي المسؤولة عن إنشاء اتصال موثوق للبيانات التي سيتم تبادلها.

الطبقة العليا تسمى طبقة التطبيقات ، والتي تخدم جميع التطبيقات على الإنترنت.

  • عرض صفحات الويب هو تطبيق في الإنترنت – أصبح ممكنًا بواسطة بروتوكول HTTP.
  • البريد الإلكتروني هو تطبيق آخر على الإنترنت – أصبح ممكنًا بواسطة بروتوكول POP أو IMAP.

هناك عدة بروتوكولات في طبقة التطبيق في الإنترنت تجعل أشياء مثل مقاطع فيديو YouTube Live و Clash of Clans ممكنة.

ولادة HTTP / 2

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

هذا يطرح السؤال – كم مرة نقوم بتحديث هذا الجزء المهم من البرنامج؟ حسنًا ، كما اتضح – ليس كثيرًا

في الواقع ، كانت آخر مرة تم فيها تحديث بروتوكول HTTP في عام 1997 – قبل عشر سنوات من إطلاق أول جهاز iPhone! كان هذا هو الإصدار 1.1 من HTTP وبعد 20 عامًا ، لا يزال إصدار HTTP الأكثر استخدامًا اليوم!

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

لا أقصد أن أقول إن HTTP / 1.1 كلها سيئة. لكن يمكنه بالتأكيد استخدام تحديث . ولهذا السبب ضاعفت فرقة عمل هندسة الإنترنت في عام 2015 في إنشاء بروتوكول أفضل لـ HTTP.

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

ما الذي تغير في HTTP / 2؟

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

مضاعفة

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

يدعم HTTP / 2 تعدد الإرسال

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

يمكن إرسال جميع الموارد الثلاثة عبر اتصال واحد.

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

لذا يعد HTTP / 2 for WordPress طريقة رائعة (من المحتمل) لتسريع موقع WordPress الخاص بك .

تقاسم المجال والتحسينات الأخرى

هل تتذكر كيف تتطلب التطبيقات الأحدث “حلولاً بديلة” للتغلب على قيود معينة في HTTP / 1.1؟ تجزئة المجال أحد هذه الحلول.

دعنا نلقي نظرة على سبب طلب تجزئة النطاق.

عادةً ما يحد HTTP / 1.1 من الحد الأقصى لعدد الاتصالات المفتوحة بين الخادم (المجال) والعميل.

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

بفضل مضاعفة الإرسال في HTTP / 2 ، لم تعد هناك حاجة إلى الكثير من هذه “الحلول”. يتضمن ذلك CSS sprites ، والصور المضمنة في CSS باستخدام URIs للبيانات ، وسلسلة CSS و JavaScript. لوضعها في كلمات مجلة Smashing :

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

نحن نعلم أن أجهزة الكمبيوتر تتحدث في 0 و 1 ، أليس كذلك؟ حسنًا ، لم يكن هذا هو ما كان يستخدمه HTTP / 1.x للتحدث. يستخدم HTTP1.x لمعالجة الأوامر النصية لإكمال دورات الاستجابة للطلب.

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

دفع خادم HTTP / 2

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

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

يمكن لمطوري الويب إنشاء تطبيقات تستفيد من دفع الخادم وإرسال موارد / معلومات إضافية إلى العميل من خلال توقع الطلبات. النتيجة النهائية؟ تطبيقات أسرع وأكثر سلاسة.

ضغط الرأس

يستخدم HTTP / 2 شيئًا يسمى ضغط رأس HPACK عند تبادل البيانات بين العميل والخادم. قبل أن ندخل في سبب أهمية ذلك ، حان الوقت لمعرفة المزيد عن البروتوكولات.

تتكون وحدة البيانات في أي بروتوكول (بما في ذلك HTTP) من ثلاثة مكونات أساسية – رأس وحمولة وتذييل.

  1. Header: يحتوي Header على معلومات حول وحدة البيانات
  2. الحمولة: هذه هي البيانات الفعلية التي يتم نقلها من الخادم إلى العميل
  3. التذييل: هذا نوع من قائمة المراجعة التي تضمن تسليم وحدة البيانات بنجاح دون أي أخطاء.

يعمل ضغط الرؤوس بطريقة بسيطة للغاية

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

نظرًا لأن مواقع الويب الغنية بالوسائط (مثل Netflix أو New York Times) أصبحت القاعدة اليوم ، يمكن أن يوفر ضغط رأس HPACK الخاص بـ HTTP / 2 الكثير من النطاق الترددي عند نقل البيانات من الخادم إلى العميل.

TLS محسّن

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

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

هل العالم جاهز لـ HTTP / 2؟

حسنا ذلك يعتمد. تدعم معظم المتصفحات الحديثة بما في ذلك Chrome و Firefox بروتوكول HTTP / 2. إذا كانت لديك الموارد اللازمة لتنفيذ بروتوكول HTTP / 2 ، فيجب عليك المضي قدمًا والقيام بذلك.

كيف تبدأ مع HTTP / 2 لـ WordPress؟

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

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

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

اختتام HTTP / 2 لـ WordPress
HTTP / 2 لـ WordPress هو تحديث ثوري تمس الحاجة إليه لواحد من أهم القطع التكنولوجية في العالم. ومع ذلك، فإنه يأخذ الكثير من الوقت لHTTP / 2 للذهاب التيار الرئيسي – مثل مواقع HTTPS. ومع ذلك ، فإن الغرض من هذه المقالة هو تعريف قرائنا بهذه التقنية الرائعة التي يمكن أن تغير وجه شبكة الويب العالمية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *