تقريبا كل موقع تقوم بزيارته على شبكة الإنترنت من وقت لآخر يستخدم بروتوكول خاص يعرف باسم Hyptertext Transfer Protocol باختصار (HTTP). منذ سنة 1999 ونحن نستخدم HTTP الإصدار 1.1. وقد كان هذا هو المعيار المستمر لسنوات عديدة حتى أعلنت Google يوم 10 فبراير من العام الجاري أنه سيتم إضافة الدعم الكامل لما يعرف الآن باسم HTTP/2 إلى متصفحها Google Chrome. قد يبدو هذا الكلام ثرثرة للبعض، هذا فقط لأنه لا يوجد وصف عن HTTP/2 و إختلافه. لفهم هذا، نحن بحاجة لاستكشاف بالضبط ما يفعله هذا الإصدار الجديد، و أوجه الشبه بينه و بين HTTP الذي نستعمله منذ ما يقرب من عقدين من الزمن.
ماذا تحقق HTTP/2 ؟
كلما تم تطوير نسخة بروتوكول جديدة، فإنها تحتاج أهداف ملموسة. الهدف الأكثر وضوحا هو المتوافق مع سابقتها، HTTP 1.1. بدون هاته القدرة، فإن كل خادم في العالم يجب عليه التبديل إلى HTTP/2 لتكون قادرا على تصفح مواقعها على شبكة الإنترنت.
مع الحفاظ على التوافق مع الإصدار القديم، هذا البروتوكول الجديد سيستفيد من التقنيات المتقدمة بوضع تدابير تخص زمن الوصول (زمن تحميل صفحة ما)، فهذا هو الهدف الأساسي.
وتشمل التحسينات الأخرى إضافة مزيدا من الأمن والتوافق مع البروكسي المعكوس "Reverse proxy"
البروكسي المعكوس وهو اللذي يتعامل مع الانترنت بشكل مباشر ، فيقوم بآخذ الطلب و ارسالها إلى الخادوم الاصلي وتحميل الطلب إلى خادوم البروكسي المعكوس و بعد ذلك إرجاع الطلب ( الملف مثلاِ ) إلى المستخدم دون ان يتعامل مع الخادوم الآصلي بشكل مباشر - ويكيبيديا
HTTP/2 لن يختلف كثيرا عن HTTP 1.1. عند تصفحك للانترنت، التأثير الأقوى الذي ستشعر به هو أن صفحات الويب يتم تحميلها بسرعة أكبر طالما أنها تدعم الإصدار الجديد.
كيف يجعل HTTP/2 الإنترنت أسرع؟
إن القول بأن "HTTP/2 يجعل كل شيء أسرع" فعلا يسيئ إلى حجم العمل الذي يحدث فعلا وراء الكواليس لتحقيق ذلك. HTTP 1.1 تعتريه سلسلة من المشاكل التي كانت مقبولة في السنوات الأولى من القرن الـ21 ولكن لم يعد من المنطقي الاستمرار في العيش معها في الوقت الذي إرتفع فيه صبيب الإنترنت ومتوقع من الخوادم تحميل الصفحات بشكل أسرع.
عند زيارة موقع ما و تحميل صفحاته يتم تحميل الـheader وهو جزء من البيانات التي يتم إرسالها لطلب ظهور المعلومات من الخادم في الصفحة التي تزورها. هنا يرمي HTTP/2 بسهمه عن طريق ضغط هذا الـheader الشيء الذي يقلل من مقدار الوقت الذي "يصافح" فيه الحاسوب الخادم كل مرة. في الوقت الحاضر المعالجات قوية بما يكفي للتعامل مع الملايين من عمليات ضغط االـheader في فترة قصيرة من الزمن.
بينما يعالج الحل أعلاه زمن الوصول، هناك طرق أخرى يخطط لها HTTP/2 تغطي عملية التواصل مع موقع ما على شبكة الانترنت. وباستخدام تقنية التعامل مباشرة مع الخادم، والتي تسمح له أن يكون أكثر نشاطا في عملية الاتصالات. حتى الآن، يقوم المستخدم بارسال طلبات دورية إلى الخادم، الشيء يجعلك ترسل headers كل مرة تسأل عن المعلومات. مع HTTP/2، سوف يرسل لك الخادم بيانات جديدة عند ظهورها.
وأخيرا، HTTP/2 ستعتمد على ما يسمى بـ"الإرسال المتعدد" عند إرسال الطلبات. في HTTP 1.1، كانت هناك مشكلة: كل حزمة جديدة تأخد الأسبقية على التي قبلها. و تتم معالجتها وفق خط مستقيم، مما يؤدي إلى مشكلة تسمى "head-of-line blocking". في الأساس، كان أداء الخادم محدود بسبب أنه يعالج الحزمة الأولى التي تأتي مع ترك الباقي في قائمة الإنتظار. إذا اتخذت حزمة وقتا طويلا للمعالجة، يجب على كل الحزم الأخرى إنتظار دورها. مع HTTP/2، سيتم معالجة حزم متعددة في نفس الوقت.
HTTP/2 ستفعل كل ما في وسعها لتجنب التباطؤ بسبب مشاكل التواصل بين الحاسوب و الخادم. و ستستفيد المواقع ذات الخوادم الصغيرة التي لا تتوفر على تردد عالي بشكل كبير من هذا التغيير.
إذا كان لديك أسئلة أو الأفكار، تأكد من ترك تعليق!
ليست هناك تعليقات :
إرسال تعليق