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

State Management Over Stateless HTTP إدارة الحالة فوق بروتوكول HTTP

أتقن إدارة الحالة في بروتوكول HTTP عبر الكوكيز والجلسات: آلية عمل Set-Cookie وحقل Cookie، والفرق بين الكوكيز المؤقتة والدائمة، وخصائص الأمان HttpOnly وSecure وSameSite وبادئة __Host-، وحماية الجلسات وإبطالها عند الخروج.
2 صفوف تعليمية
تكنولوجيا الويب
0 مشاهدة

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

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

صُمم بروتوكول في جوهره ليكون بروتوكولاً عديم الحالة ()؛ أي أن الخادم يعامل كل طلب يصل إليه كعملية مستقلة ومنفصلة تماماً دون ذاكرة ذاتية تربطه بالطلبات السابقة. غير أن تطبيقات الويب الحديثة تحتاج إلى تذكّر هوية المستخدم المسجل دخوله، ومحتويات سلة مشترياته، وتفضيلاته كالمظهر الداكن أو اللغة العربية. وهنا يأتي دور ملفات تعريف الارتباط الكوكيز () والجلسات على الخادم () لبناء طبقة إدارة حالة متكاملة وآمنة فوق بروتوكول .

قبل الغوص في التفاصيل الهندسية، استعرض جدول المصطلحات التقنية الأساسية لهذا الدرس:

المصطلح بالعربية المصطلح بالإنجليزية النطق التقني المعنى الهندسي المبسط
ملف تعريف الارتباط (الكوكي) إتش تي تي بي كوكي قطعة بيانات نصية صغيرة يرسلها الخادم ليحفظها المتصفح ويعيد إرسالها تلقائياً مع الطلبات اللاحقة لنفس النطاق.
حقل إنشاء الكوكي سيت كوكي هيدر حقل في رأس استجابة الخادم يأمر المتصفح بحفظ كوكي جديد مع خصائص صلاحيته وأمانه.
معرّف الجلسة سيشن آي دي قيمة عشوائية مشفرة وعالية الإنتروبيا تُحفظ داخل الكوكي لربط المتصفح بسجل بيانات المستخدم على الخادم.
منع وصول السكربتات إتش تي تي بي أونلي خاصية أمان تمنع أكواد JavaScript (عبر document.cookie) من قراءة الكوكي لحمايته من ثغرات XSS.
العزل عبر المواقع سيم سايت أتريبيوت خاصية تتحكم في إرسال الكوكي مع الطلبات العابرة للمواقع (Strict أو Lax أو None) للحماية من هجمات CSRF.
اختطاف الجلسة سيشن هايجاكينج استيلاء مهاجم على معرّف الجلسة النشط لانتحال هوية المستخدم الشرعي دون معرفة كلمة مروره.
الصف 2 شرح توضيحي

لماذا صُمم بروتوكول أصلاً ليكون عديم الحالة؟ لأن غياب الحالة المتصلة يمنح خوادم الويب قدرة هائلة على التوسع الأفقي ()؛ إذ يمكن لأي خادم داخل مزرعة الخوادم الرد على أي طلب دون الحاجة لحفظ حالة اتصال مفتوحة لكل زائر.

ولكن عندما يسجل المستخدم دخوله في الطلب الأول ثم ينتقل في الطلب الثاني إلى لوحة التحكم الخاصة به، فبدون آلية لحفظ الحالة سيسأله الخادم عن اسم المستخدم وكلمة المرور مع كل نقرة! تعالج آلية إدارة الحالة () هذه المشكلة بتمرير تذكرة تعريف خفيفة (ملف كوكي) يمنحها الخادم للمتصفح، ليعيد المتصفح إبرازها تلقائياً مع كل طلب لاحق.