شرح صفوف ومحتوى الفقرة
يُوصَف بروتوكول HTTP في جوهره بأنه بروتوكول عديم الحالة (Stateless Protocol)؛ ومعنى ذلك ببساطة أن السيرفر يعامل كل طلب يصله كأنه أول مرة يراك فيها! يشبه الأمر ماكينة البيع الذاتي أو موظف استعلامات لا يحتفظ بأي ذاكرة للمراجعين؛ فلو سألته سؤالاً وأجابك، ثم سألته بعد ثانية: «وماذا عن السعر؟» دون أن تعيد ذكر اسم المنتج، فلن يتذكرك؛ لأن كل طلب في HTTP يجب أن يكون مكتفياً بذاته (Self-Contained) ويحمل كل المعلومات اللازمة لتنفيذه.
لماذا صُمم HTTP بدون ذاكرة تلقائية؟ هذا ليس عيباً، بل ميزة هندسية كبرى؛ لأن السيرفر لا يضطر لحجز ذاكرة لملايين الزوار في نفس الوقت، مما يجعله سريعاً جداً وقادراً على خدمة ملايين المستخدمين بكفاءة (Scalability).
شاهد في المثال العملي الآتي كيف ينسى السيرفر الأساسي هوية المستخدم في الطلب الثاني ما لم يرسل المتصفح بطاقة تعريفه (مثل الكوكيز Cookie التي سندرسها في درسها المخصص) مع كل طلب جديد:
Request 1 : POST /login (user=ahmed) -> Server replies 200 OKRequest 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!