تقنية

خادم الويب: كيف يصل الطلب إلى صفحة تظهر في المتصفح؟

طلب يصل إلى برنامج خادم الويب ثم تعود استجابة
رسم توضيحي للطلب والاستجابة. [2]

خادم الويب يستقبل طلبات HTTP ويعيد محتوى أو استجابة خطأ. وقد يُقصد به البرنامج الذي يؤدي هذه المهمة، أو الجهاز الذي يشغله ويحتفظ بملفات الموقع. [1]

الخلاصة السريعة

خادم الويب يستقبل طلبات HTTP ويعيد محتوى أو استجابة خطأ. وقد يُقصد به البرنامج الذي يؤدي هذه المهمة، أو الجهاز الذي يشغله ويحتفظ بملفات الموقع. [1]

  • الملف الثابت يُرسل كما هو؛ أما المحتوى الديناميكي فقد يُنشأ بمساعدة تطبيق وقاعدة بيانات. [1]
  • يحدد الطلب المورد المطلوب. تحمل الاستجابة رمز حالة؛ 200 للنجاح و404 للمورد غير الموجود. [2]
  • عرض صفحة HTML قد يستدعي طلبات أخرى لصورها وتنسيقها؛ الحصول على الصفحة ليس الحصول على كل ملفاتها. [2]
  • قد يعيد مخزن مؤقت استعمال استجابة؛ no-cache يطلب التحقق قبل إعادة استعمالها، وno-store يمنع تخزينها. [3]

الجهاز والبرنامج والمحتوى

تخيّل موقعًا يحتفظ بصورة في ملف. يحتاج إلى جهاز تخزين وتشغيل، وإلى برنامج يفهم الطلب ويختار المحتوى. كلمة «خادم» قد تشير إلى أيّ من هذين الجانبين؛ لذلك لا يكفي النظر إلى شكل الجهاز لفهم وظيفة الخدمة. [1]

في المسار الثابت يرسل الخادم الملف المحفوظ. وفي المسار الديناميكي يمكن لتطبيق أن يجلب بيانات ويضعها في قالب ثم يعيد النتيجة. مثلًا: صفحة تعريف بالورشة ملف ثابت، وصفحة المواعيد المتاحة ناتج يُنشأ وفق بياناتها؛ المثال توضيحي. [1]

رحلة طلب واحد

يُرسل المتصفح عنوان المورد وطريقة الطلب. وعندما تعود الاستجابة، يدل رمز الحالة على النتيجة؛ فنجاح الحصول على المورد يختلف عن غيابه. يمكن أن يعرض المتصفح رسالة الخطأ، ولا يعني وصول استجابة دائمًا وصول الصفحة المطلوبة. [2]

مثال افتراضي: يطلب المتصفح المسار /workshop.html بطريقة GET، فيعود ملف الصفحة مع 200. وإذا أشارت الصفحة إلى /tools.png، ينشأ طلب مستقل للصورة. نفترض أن الصورة غير موجودة فيعود 404؛ عندئذ قد يظهر النص بينما تتعذر الصورة. [2]

طلب صفحة ناجح وطلب صورة غير موجودة
مثال افتراضي: الصفحة 200 والصورة 404. [2]

أين يدخل التخزين المؤقت؟

يحتفظ المخزن المؤقت باستجابة لإعادة استعمالها عند طلب لاحق. قد يكون خاصًا بالمتصفح، أو مشتركًا بين مستخدمين. إعادة الاستخدام المناسبة تقلل الرجوع إلى الخادم الأصلي، لكن المحتوى المخصص لمستخدم يحتاج إلى ضبط يسمح بالخصوصية الملائمة. [3]

ولا تتساوى توجيهات التخزين: no-cache لا يعني منع الحفظ، بل التحقق قبل إعادة الاستعمال. أما no-store فيطلب عدم تخزين الاستجابة. لهذا لا يمكن تفسير كل صفحة ظهرت سريعًا بأنها أُنشئت من جديد في تلك اللحظة. [3]

المصادر ومتابعة القراءة

  1. MDN: خادم الويب (يفتح في نافذة جديدة)developer.mozilla.org
  2. MDN: اتصال العميل والخادم (يفتح في نافذة جديدة)developer.mozilla.org
  3. MDN: تخزين HTTP المؤقت (يفتح في نافذة جديدة)developer.mozilla.org

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.