شرح صفوف ومحتوى الفقرة
كل المحادثات التي تدور على الويب تنقسم إلى نوعين اثنين فقط من الرسائل لا ثالث لهما: رسالة الطلب (Request Message) ورسالة الاستجابة (Response Message). تشبه العملية حواراً بسيطاً: سؤال يخرج من متصفحك، وجواب يعود من السيرفر.
النوع الأول: رسالة الطلب (): هي الرسالة التي يبدأ بها العميل (المتصفح) ليطلب صفحة أو يرسل بيانات للسيرفر. ويبدأ أول سطر فيها دائماً بثلاث كلمات واضحة: ماذا نريد أن نفعل؟ (مثل GET لجلب صفحة)، وأين تقع الصفحة؟ (المسار)، وأي إصدار نستخدم؟ (HTTP/1.1) كما في المثال الآتي:
# 1. HTTP Request (Client to Server)
GET /index.html HTTP/1.1
Host: www.closetag.com
User-Agent: Mozilla/5.0
Accept: text/html
النوع الثاني: رسالة الاستجابة (): هي الرسالة التي يرد بها السيرفر على طلب المتصفح، وتحمل الصفحة المطلوبة إذا نجح الطلب، أو سبب المشكلة إذا لم يجد الصفحة. ويبدأ أول سطر فيها بثلاثة عناصر: إصدار البروتوكول (HTTP/1.1)، ثم رقم النتيجة (مثل 200 للنجاح)، ثم كلمة توضيحية للنتيجة (مثل OK) كما يظهر هنا:
# 2. HTTP Response (Server to Client)
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 43
<html><body><h1>CloseTag</h1></body></html>
تتشابه رسالتا الطلب والاستجابة في شكل القالب العام، وتختلفان في ثلاث نقاط بسيطة:
- من يرسل لمن؟ (الاتجاه): الطلب يخرج من العميل إلى السيرفر، والاستجابة تعود من السيرفر إلى العميل.
- ما الهدف؟ (الوظيفة): الطلب يسأل عن صفحة أو يرسل بيانات، والاستجابة تعيد النتيجة والمحتوى المطلوب.
- السطر الأول: الطلب يبدأ بالفعل والمسار (مثل
GET /tutorials)، بينما الاستجابة تبدأ برقم النتيجة وحالتها (مثل200 OK) كما يوضح الرسم الآتي: