انتقل إلى محتوى الدرس
فقرة فرعية #2 من درس: رسائل HTTP

Types of HTTP Messages أنواع رسائل HTTP

تعرّف في هذا الدرس على رسائل HTTP (HTTP Messages) ونوعَيها: الطلب والاستجابة، وتشريح أقسامها الأربعة من سطر البداية والرؤوس والسطر الفارغ وجسم الرسالة، وكيفية فحصها عملياً وتشخيص أخطائها في تطوير الويب وأمن المعلومات.
7 صفوف تعليمية
تكنولوجيا الويب
1,212 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

كل المحادثات التي تدور على الويب تنقسم إلى نوعين اثنين فقط من الرسائل لا ثالث لهما: رسالة الطلب (Request Message) ورسالة الاستجابة (Response Message). تشبه العملية حواراً بسيطاً: سؤال يخرج من متصفحك، وجواب يعود من السيرفر.

النوع الأول: رسالة الطلب ()‏: هي الرسالة التي يبدأ بها العميل (المتصفح) ليطلب صفحة أو يرسل بيانات للسيرفر. ويبدأ أول سطر فيها دائماً بثلاث كلمات واضحة: ماذا نريد أن نفعل؟ (مثل GET لجلب صفحة)، وأين تقع الصفحة؟ (المسار)، وأي إصدار نستخدم؟ (HTTP/1.1) كما في المثال الآتي:

الصف 2 كود برمجي
نص
# 1. HTTP Request (Client to Server)
GET /index.html HTTP/1.1
Host: www.closetag.com
User-Agent: Mozilla/5.0
Accept: text/html
الصف 3 شرح توضيحي

النوع الثاني: رسالة الاستجابة ()‏: هي الرسالة التي يرد بها السيرفر على طلب المتصفح، وتحمل الصفحة المطلوبة إذا نجح الطلب، أو سبب المشكلة إذا لم يجد الصفحة. ويبدأ أول سطر فيها بثلاثة عناصر: إصدار البروتوكول (HTTP/1.1)، ثم رقم النتيجة (مثل 200 للنجاح)، ثم كلمة توضيحية للنتيجة (مثل OK) كما يظهر هنا:

الصف 4 كود برمجي
نص
# 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>
الصف 5 شرح توضيحي

تتشابه رسالتا الطلب والاستجابة في شكل القالب العام، وتختلفان في ثلاث نقاط بسيطة:

  • من يرسل لمن؟ (الاتجاه): الطلب يخرج من العميل إلى السيرفر، والاستجابة تعود من السيرفر إلى العميل.
  • ما الهدف؟ (الوظيفة): الطلب يسأل عن صفحة أو يرسل بيانات، والاستجابة تعيد النتيجة والمحتوى المطلوب.
  • السطر الأول: الطلب يبدأ بالفعل والمسار (مثل GET /tutorials)، بينما الاستجابة تبدأ برقم النتيجة وحالتها (مثل 200 OK) كما يوضح الرسم الآتي:
الصف 6 صورة توضيحية
مخطط توضيحي يقارن بين نوعي رسائل HTTP: رسالة الطلب الصادرة من عميل HTTP إلى خادم HTTP ورسالة الاستجابة العائدة من الخادم إلى العميل
الصف 7 ملاحظة هامة