شرح صفوف ومحتوى الفقرة
يعمل بروتوكول HTTP وفق دورة الطلب والاستجابة (Request-Response Cycle) التي يقودها العميل دائماً. فلا يبادر خادم الويب بإرسال صفحات من تلقاء نفسه، بل ينتظر مستمعاً حتى يطلب المتصفح مورداً محدداً فيردّ عليه بالنتيجة خلال أجزاء من الثانية. وتبدأ الرحلة فور كتابة عنوان ويب في المتصفح أو النقر على رابط، مثل العنوان الكامل الآتي:
بمجرد إدخال هذا الرابط، يستخرج متصفح الويب (Web Browser) منه المخطط والمضيف والمنفذ والمسار لينفّذ خمس خطوات متسلسلة:
- تحويل اسم النطاق إلى عنوان رقمي (DNS Lookup): توجّه الشبكات الحزم بالأرقام لا بالأسماء النصية، لذا يعمل نظام أسماء النطاقات
DNSكدفتر عناوين للشبكة. يسأل متصفح الويب أولاً خادم النطاقات (DNS Server) — إن لم يكن العنوان محفوظاً مؤقتاً لديه — ليستلم منه عنوانIPالرقمي المقابل لاسم نطاق الموقع. - فتح قناة اتصال على المنفذ (TCP Connection): فور معرفة عنوان
IP، يفتح المتصفح قناة اتصال موثوقة عبر بروتوكول النقلTCPمع خادم الويب (Web Server) على المنفذ المستنتج. ويكون هذا المنفذ80للروابط القياسية غير المشفرة عبرHTTPأو443للروابط المحمية عبرHTTPSمع تفعيل تشفير أمان طبقة النقلTLS(Transport Layer Security). وتُفتح هذه القناة الشبكية وجوباً قبل إرسال أي رسالةHTTP. - إرسال رسالة طلب المورد (HTTP Request): عبر قناة الاتصال المفتوحة، يرسل المتصفح رسالة طلب
HTTPيحدّد فيها لخادم الويب الموردَ المطلوب والعملية المراد تنفيذها عليه. ويشمل هدف الطلب المسار ومعطيات الاستعلام إن وُجدت، بينما يبقى الجزء المرجعي المحلي داخل المتصفح لتحديد موضع التمرير في الصفحة دون إرساله عبر الشبكة. - إعادة رسالة الاستجابة بالمحتوى (HTTP Response): يستقبل خادم الويب الطلب على المنفذ المستمع، فيبحث عن الملف المطلوب أو يشغّل منطق التطبيق وقاعدة البيانات لتجهيز المحتوى. وإن كان المورد مفقوداً أو غير مسموح به يحدّد الخادم سبب التعذر، ثم يعيد رسالة استجابة
HTTPللمتصفح بنتيجة المعالجة ونسخة المحتوى مثل وثيقةHTMLأو رسالة الخطأ. - عرض الصفحة وطلب ملفاتها الفرعية (Render & Sub-Resources): يقرأ المتصفح وثيقة
HTMLالمستلمة ويحلّلها لبناء هيكل الصفحة. وكلما صادف إشارةً لملف أو مورد فرعي خارجي — كملف تنسيقCSSأو ملفJavaScript(JS) أو صورة أو خط — أطلق تلقائياً طلبات إضافية مستقلة عبرHTTPلجلبه. وبعد استلام هذه الموارد الفرعية يدمجها المتصفح معاً ليرسم الصفحة كاملةً أمام المستخدم.
ويوضّح التتبّع التقني الآتي مسار الرابط السابق وعنوانه الرقمي عبر الخطوات الخمس بالترتيب:
وبدلاً من هدم قناة الاتصال فوراً بعد أول ملف، تُبقي المتصفحات والخوادم الحديثة الاتصال مفتوحاً مؤقتاً لتمرير طلبات الموارد الفرعية بسرعة وكفاءة قبل إغلاقه عند انتهاء الحاجة. وسنقارن سلوك الاتصالات هذا تفصيلاً في موضوع لاحق من هذا الدرس. وعملياً، يساعد هذا التسلسل مطور الويب على تشخيص موضع البطء أو العطل بين استعلام النطاق ومعالجة الخادم وتحميل الملفات الفرعية. كما يمكّن مختص الأمن السيبراني من تتبّع مسار كل طلب واستجابة لرصد نقاط الاعتراض أو التلاعب بالبيانات عبر الشبكة.
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 Browser5. Sub-Resources : /app.css, /app.js -> Separate HTTP requests
HTTP Request Exchange Flowتبادل طلب واستجابة HTTP
طلب قياسي يرسله المتصفح عبر اتصال TCP المفتوح إلى خادم الويب الأصلي.
GET /index.html HTTP/1.1
Host: closetag.com
Accept: text/html
Connection: keep-alive
HTTP Exchange Flow Previewمعاينة تدفق طلب HTTP
معاينة تفاعلية توضح المسار المباشر لطلب HTTP من ترجمة النطاق حتى عرض الصفحة.