طلب HTTP واستجابته

تتفاعل متصفّحات الويب مع المواقع الإلكترونية من خلال اتّباع بروتوكول HTTP. في ما يلي مجموعة من القواعد الموحدة للتواصل:

  • عند زيارة صفحة ويب، يرسل المتصفّح طلبات HTTP للموارد الواردة في الصفحة، مثل HTML وCSS وJavaScript والصور.
  • عندما يتلقّى خادم HTTP (خادم ويب يستضيف موقعًا إلكترونيًا) طلب HTTP صالحًا من أحد المتصفّحات، يستجيب الخادم للمتصفّح من خلال إرسال استجابة HTTP.
  • يمكن أن تتضمّن الطلبات والردود معلومات إضافية تُعرف باسم عناوين HTTP.

على سبيل المثال، لنفترض أنّ الموقع الإلكتروني هو cats.example..

الموقع الإلكتروني cats.example الأسطوري

الطلب

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

يمكن إضافة عناوين طلبات HTTP إلى طلبات HTTP لتوفير معلومات إضافية من المتصفّح إلى خادم الويب. على سبيل المثال، غالبًا ما يتم تضمين العناوين التالية:

  • Accept-Language: en-US
    يشير هذا العنوان إلى اللغة المفضّلة للمستخدم، وفي هذه الحالة، هي الإنجليزية (الولايات المتحدة).
  • User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
    يقدّم هذا العنوان تفاصيل عن متصفّح المستخدم ونظام التشغيل، وفي هذه الحالة، "Mozilla/5.0" (عائلة المتصفّح) و"Macintosh" (نظام التشغيل) و"Chrome/127.0.0.0" (إصدار المتصفّح).

الردّ

عندما يتلقّى خادم الويب طلبًا صالحًا من متصفّح، يرسل الخادم إلى المتصفّح ردًا يقدّم المورد الذي تمّ طلبه ( "الحمولة"): HTML أو CSS أو JavaScript أو ملف صورة أو فيديو أو بيانات أخرى. تمامًا كما يمكن أن يحتوي كل طلب من المتصفح على رؤوس طلبات، يمكن أن يحتوي كل ردّ من الخادم على رؤوس استجابات. ويتم إرسال رؤوس الاستجابة هذه مع الحمولة.

يطلب عنوان Set-Cookie المضمّن في الردّ من المتصفّح تخزين بعض النص: اسم وقيمة. ويُعرف هذا باسم ملف تعريف ارتباط HTTP. استجابةً لطلب cats.example/images/cat.jpg، يُدرِج خادم cats.example العنوان Set-Cookie:cat=tabby. يوجّه هذا الإجراء المتصفّح إلى تخزين ملف تعريف ارتباط باسم cat بالقيمة tabby.

سيتم بعد ذلك تضمين ملف تعريف الارتباط هذا مع الطلبات اللاحقة إلى cats.example, إلى أن تنتهي صلاحية ملف تعريف الارتباط أو تتم إزالته. يتيح ذلك للخادم الاحتفاظ بمعلومات عن المستخدم على مستوى عدة صفحات ويب أو جلسات: على سبيل المثال، أنّه تم عرض صورة قطة على المستخدم.


Header الإجراء مثال التأثير
استجابة HTTP
الخادم إلى المتصفّح
Set‑Cookie يطلب خادم الويب من المتصفّح تخزين ملف تعريف ارتباط. Set‑Cookie:cat=tabby يخزّن المتصفّح ملف تعريف الارتباط ويقدّمه في الطلبات التالية المرسَلة إلى الخادم الذي ضبطه.
طلب HTTP
المتصفّح إلى الخادم
Cookie يقدّم المتصفّح ملف تعريف ارتباط. Cookie:cat=tabby يتم إتاحة ملف تعريف الارتباط للخادم الذي يمثّل وجهة الطلب.

إصدارات تجريبية

  • 1pc.glitch.me: عرض توضيحي لملفات تعريف الارتباط الخاصة بالطرف الأول
  • 3pc.glitch.me: عرض توضيحي لملفات تعريف الارتباط التابعة لجهات خارجية

الأدوات

التعرف على المزيد