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

Statelessness in HTTP خاصية انعدام الحالة في HTTP

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

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

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

يُوصَف بروتوكول HTTP في جوهره بأنه بروتوكول عديم الحالة (Stateless Protocol)؛ ومعنى ذلك ببساطة أن السيرفر يعامل كل طلب يصله كأنه أول مرة يراك فيها! يشبه الأمر ماكينة البيع الذاتي أو موظف استعلامات لا يحتفظ بأي ذاكرة للمراجعين؛ فلو سألته سؤالاً وأجابك، ثم سألته بعد ثانية: «وماذا عن السعر؟» دون أن تعيد ذكر اسم المنتج، فلن يتذكرك؛ لأن كل طلب في HTTP يجب أن يكون مكتفياً بذاته (Self-Contained) ويحمل كل المعلومات اللازمة لتنفيذه.

لماذا صُمم HTTP بدون ذاكرة تلقائية؟ هذا ليس عيباً، بل ميزة هندسية كبرى؛ لأن السيرفر لا يضطر لحجز ذاكرة لملايين الزوار في نفس الوقت، مما يجعله سريعاً جداً وقادراً على خدمة ملايين المستخدمين بكفاءة (Scalability‏).

شاهد في المثال العملي الآتي كيف ينسى السيرفر الأساسي هوية المستخدم في الطلب الثاني ما لم يرسل المتصفح بطاقة تعريفه (مثل الكوكيز Cookie التي سندرسها في درسها المخصص) مع كل طلب جديد:

  • Request 1 : POST /login (user=ahmed) -> Server replies 200 OK
  • Request 2 : GET /my-cart -> Server: "Who are you? (No memory of Req 1)"
  • Request 2 : GET /my-cart + Cookie: session_id=xyz987 -> Server returns Ahmed's cart!
الصف 2 ملاحظة هامة