انتقل إلى محتوى الدرس

How HTTP Works آلية عمل بروتوكول HTTP

تعرّف في هذا الدرس على بروتوكول نقل النص التشعبي (HTTP) ونشأته، وكيف يتخاطب المتصفح مع الخادم عبر الطلبات والاستجابات والوسطاء، وخصائصه الأساسية وإصداراته المتعاقبة وأهميته في تطوير الويب والأمن السيبراني.
7 صفوف تعليمية
تكنولوجيا الويب
4,339 مشاهدة

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

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

يعمل بروتوكول HTTP وفق دورة الطلب والاستجابة (Request-Response Cycle) التي يقودها العميل دائماً. فلا يبادر خادم الويب بإرسال صفحات من تلقاء نفسه، بل ينتظر مستمعاً حتى يطلب المتصفح مورداً محدداً فيردّ عليه بالنتيجة خلال أجزاء من الثانية. وتبدأ الرحلة فور كتابة عنوان ويب في المتصفح أو النقر على رابط، مثل العنوان الكامل الآتي:

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

بمجرد إدخال هذا الرابط، يستخرج متصفح الويب (Web Browser) منه المخطط والمضيف والمنفذ والمسار لينفّذ خمس خطوات متسلسلة:

  1. تحويل اسم النطاق إلى عنوان رقمي (DNS Lookup): توجّه الشبكات الحزم بالأرقام لا بالأسماء النصية، لذا يعمل نظام أسماء النطاقات DNS كدفتر عناوين للشبكة. يسأل متصفح الويب أولاً خادم النطاقات (DNS Server) — إن لم يكن العنوان محفوظاً مؤقتاً لديه — ليستلم منه عنوان IP الرقمي المقابل لاسم نطاق الموقع.
  2. فتح قناة اتصال على المنفذ (TCP Connection): فور معرفة عنوان IP، يفتح المتصفح قناة اتصال موثوقة عبر بروتوكول النقل TCP مع خادم الويب (Web Server) على المنفذ المستنتج. ويكون هذا المنفذ 80 للروابط القياسية غير المشفرة عبر HTTP أو 443 للروابط المحمية عبر HTTPS مع تفعيل تشفير أمان طبقة النقل TLS (Transport Layer Security). وتُفتح هذه القناة الشبكية وجوباً قبل إرسال أي رسالة HTTP.
  3. إرسال رسالة طلب المورد (HTTP Request): عبر قناة الاتصال المفتوحة، يرسل المتصفح رسالة طلب HTTP يحدّد فيها لخادم الويب الموردَ المطلوب والعملية المراد تنفيذها عليه. ويشمل هدف الطلب المسار ومعطيات الاستعلام إن وُجدت، بينما يبقى الجزء المرجعي المحلي داخل المتصفح لتحديد موضع التمرير في الصفحة دون إرساله عبر الشبكة.
  4. إعادة رسالة الاستجابة بالمحتوى (HTTP Response): يستقبل خادم الويب الطلب على المنفذ المستمع، فيبحث عن الملف المطلوب أو يشغّل منطق التطبيق وقاعدة البيانات لتجهيز المحتوى. وإن كان المورد مفقوداً أو غير مسموح به يحدّد الخادم سبب التعذر، ثم يعيد رسالة استجابة HTTP للمتصفح بنتيجة المعالجة ونسخة المحتوى مثل وثيقة HTML أو رسالة الخطأ.
  5. عرض الصفحة وطلب ملفاتها الفرعية (Render & Sub-Resources): يقرأ المتصفح وثيقة HTML المستلمة ويحلّلها لبناء هيكل الصفحة. وكلما صادف إشارةً لملف أو مورد فرعي خارجي — كملف تنسيق CSS أو ملف JavaScript (JS‏) أو صورة أو خط — أطلق تلقائياً طلبات إضافية مستقلة عبر HTTP لجلبه. وبعد استلام هذه الموارد الفرعية يدمجها المتصفح معاً ليرسم الصفحة كاملةً أمام المستخدم.

ويوضّح التتبّع التقني الآتي مسار الرابط السابق وعنوانه الرقمي عبر الخطوات الخمس بالترتيب:

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

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

  • 1. DNS Lookup : closetag.com -> 203.0.113.10 (DNS -> IP)
  • 2. TCP Connection : 203.0.113.10:443 -> TLS channel (:80 HTTP)
  • 3. HTTP Request : /tutorials/http -> (#overview stays local)
  • 4. HTTP Response : HTML document -> Sent to Web Browser
  • 5. Sub-Resources : /app.css, /app.js -> Separate HTTP requests
الصف 4 صورة توضيحية
مخطط متسلسل من خمس خطوات يوضّح آلية عمل بروتوكول HTTP بين متصفح الويب وخادم النطاقات DNS وخادم الويب
الصف 5 كود برمجي

HTTP Request Exchange Flowتبادل طلب واستجابة HTTP

طلب قياسي يرسله المتصفح عبر اتصال TCP المفتوح إلى خادم الويب الأصلي.

Shell
GET /index.html HTTP/1.1
Host: closetag.com
Accept: text/html
Connection: keep-alive
الصف 6 معاينة حية

HTTP Exchange Flow Previewمعاينة تدفق طلب HTTP

معاينة تفاعلية توضح المسار المباشر لطلب HTTP من ترجمة النطاق حتى عرض الصفحة.

الصف 7 ملاحظة هامة