التعريف ببرتوكول HTTP

يعتبر بروتوكول نقل النص التشعبي (HyperText Transfer Protocol) (HTTP) أساس شبكة الويب العالمية (WWW)، يستخدم لتحميل صفحات الويب باستخدام روابط النص التشعبي، وهو بروتوكول يعمل في طبقة التطبيق (Application Layer) مصمم لنقل المعلومات بين الأجهزة المتصلة بالشبكة، يقوم مبدأ عمله على قيام جهاز عميل بطلب إلى الخادم (Server)، الذي يرسل بدوره بعد ذلك رسالة استجابة.[١][٢]


تتكون رسائل بروتوكول HTTP من نوعين: الطلب (Request) والاستجابة (Response)، حيث يتبع كلا نوعي الرسائل نفس تنسيق الرسالة؛ يتم إرسال رسالة الطلب من قبل العميل، والتي تتكون من سطر طلب ورؤوس وأحيانًا نص، ويتم إرسال رسالة الاستجابة بواسطة الخادم إلى العميل، والتي تتكون من سطر الحالة والعناوين وأحيانًا نص، ويستخدم HTTP لنقل البيانات في شكل تنسيق يشبه تنسيق بريد الإنترنت متعددة الأغراض (MIME).[٢][٣]


يمكن استخدام بروتوكول HTTP لنقل البيانات في شكل نص عادي ونص تشعبي وصوت وفيديو وغير ذلك، ويُعرف هذا البروتوكول باسم بروتوكول نقل النص التشعبي؛ نظرًا لكفاءته التي تسمح باستخدام بيئة النص التشعبي التي توفر الانتقال السريع من مستند إلى مستند آخر.[٣][٢]


التصميم الهندسي لبرتوكول HTTP

بروتوكول HTTP هو بروتوكول طلب / استجابة يعتمد على البنية القائمة على العميل / الخادم حيث تعمل متصفحات الويب والروبوتات ومحركات البحث، وغيرها مثل عملاء لبروتوكول HTTP، ويعمل خادم الويب (Web Server) كخادم، وتكون طريقة العمل كالآتي:[٢]

  • العميل: يرسل عميل HTTP طلبًا إلى الخادم في شكل طريقة طلب وURI وإصدار بروتوكول، متبوعًا برسالة تشبه MIME تحتوي على معدِّلات الطلب ومعلومات العميل والمحتوى المحتمل عبر اتصال TCP / IP.
  • الخادم: يستجيب خادم HTTP بخط الحالة، بما في ذلك إصدار بروتوكول الرسالة ورمز النجاح أو الخطأ، متبوعًا برسالة تشبه MIME تحتوي على معلومات الخادم، ومعلومات تعريف الكيان، والمحتوى المحتمل.


خصائص بروتوكول الـ HTTP

يتميز بروتوكول الـ HTTP بثلاث خصائص أساسية تجعله بروتوكولًا بسيطًا ولكنه قوي:[٣][٢]


بروتوكول غير متصل

HTTP هو بروتوكول غير متصل (connectionless)؛ حيث يرسل عميل HTTP طلبًا وينتظر استجابة من الخادم، وعندما يتلقى الخادم الطلب، يعالج الخادم الطلب ويرسل الاستجابة مرة أخرى إلى عميل HTTP، وبعد ذلك يقوم العميل بقطع الاتصال، إذ يتواجد الاتصال بين العميل والخادم أثناء الطلب ووقت الاستجابة فقط.


مستقل عن الوسائط

بروتوكول HTTP بروتوكول مستقل عن الوسائط (media independent)، وهذا يعني أنه يمكن إرسال أي نوع من البيانات بواسطة HTTP طالما أن كل من العميل والخادم يعرفان كيفية التعامل مع محتوى البيانات، إذ يجب على العميل وكذلك الخادم تحديد نوع المحتوى باستخدام نوع MIME المناسب.


عديم الحالة

كما ذكرنا سابقًا، بروتوكول الـ HTTP بروتوكول غير متصل، الأمر الذي يؤدي بالضرورة لكونه بروتوكولًا عديم الحالة (stateless)، إذ يكون الخادم والعميل على دراية بحالة بعضهما البعض فقط أثناء الطلب الحالي، أي لا يمكن للعميل أو الخادم الاحتفاظ بالمعلومات بين الطلبات المختلفة عبر صفحات الويب.


المراجع

  1. "What is HTTP?", cloudflare, Retrieved 19/7/2022. Edited.
  2. ^ أ ب ت ث ج "HTTP - Overview"، tutorialspoint، اطّلع عليه بتاريخ 19/7/2022. Edited.
  3. ^ أ ب ت "HTTP"، javatpoint، اطّلع عليه بتاريخ 19/7/2022. Edited.