0. مقدمة ، لماذا نحتاج إلى ملفات تعريف الارتباط والجلسات
نظرًا لأن طلبات HTTP عديمة الجنسية (لا يمكن تسجيل حالة تسجيل دخول المستخدم ، وما إلى ذلك) ، هناك حاجة إلى آلية معينة لحفظ حالة تسجيل الدخول الخاصة بالمستخدم والمعلومات الأخرى. في المرة التالية التي يمكنك فيها الوصول إلى خدمة الويب ، لا تحتاج إلى التحقق مما إذا كنت تريد تسجيل الدخول أو حالة أخرى مرة أخرى. آلية الجلسة وآلية ملفات تعريف الارتباط هي حلول على جانب الخادم والمستعرض على التوالي.
1. حول ملفات تعريف الارتباط
1.1 ما هو ملف تعريف الارتباط
ملف تعريف الارتباط ، ملفات تعريف الارتباط المعنى الأصلي. يتم استخدامه لتخزين معلومات حالة المستخدم على جانب المتصفح ، ثم إعادة هذا الجزء من المعلومات إلى الواجهة الخلفية عند الوصول إلى الواجهة الخلفية.
يتضمن محتوى ملفات تعريف الارتباط بشكل أساسي: الاسم والقيمة ووقت انتهاء الصلاحية والمسار والمجال
1.2 فئة ملفات تعريف الارتباط
يتم حفظ ملفات تعريف الارتباط للجلسة التي لا تحدد وقت انتهاء الصلاحية في ذاكرة المتصفح. إذا تم إغلاق المتصفح ، فسيتم تدمير ملفات تعريف الارتباط. (غالبًا ما تستخدم كجلسة)
ملفات تعريف الارتباط العادية تضع وقت انتهاء الصلاحية وحفظها على القرص الصلب
1.3 كيفية التقديم
عند بدء الطلب: يتحقق المتصفح من جميع ملفات تعريف الارتباط المخزنة. إذا كان نطاق الإجراء الذي أعلنه ملف تعريف الارتباط (الذي يحدده المسار والمجال) أكبر من أو يساوي موقع المورد المطلوب ، يتم إرفاق ملف تعريف الارتباط برأس طلب HTTP لمورد الطلب وإرساله إلى الخادم.
عند معالجة الطلبات: على جانب الخادم ، يتم فحص معلومات ملفات تعريف الارتباط الموجودة في رأس الطلب بشكل عام (مثل فحص تسجيل الدخول). إذا تم تمرير الشيك ، يمكن إجراء معالجة الأعمال الفعلية.
إذا فشل التحقق ، مثل عدم العثور على ملف تعريف الارتباط أو معلومات ملفات تعريف الارتباط غير صحيحة (ربما مزورة) ، والقفز لتسجيل الدخول ، وبعد تسجيل الدخول ، أعد معلومات ملفات تعريف الارتباط في الاستجابة. سيقوم المتصفح بحفظه على القرص الثابت أو الذاكرة بناءً على معلومات ملفات تعريف الارتباط التي تم إرجاعها للاستخدام التالي. و
2. حول الجلسة
2.1 ما هي الجلسة
يتم استخدام الجلسة لحفظ معلومات حالة المستخدم على جانب الخادم.
2.2 كيفية الاستخدام
عندما يبدأ المتصفح طلبًا: سيقوم الخادم أولاً بقراءة معلومات الجلسة في رأس الطلب. إذا لم يتم العثور على معلومات الجلسة أو لا يمكن استرداد SessionId محليًا ، إذا لم يكن الأمر كذلك ، فسيتم إنشاء SessionId جديد وتخزينه في القرص الصلب الخادم أو memcache.
يتلقى المتصفح استجابة: سيتم حفظ SessionId الذي تم إرجاعه في الذاكرة المحلية لاستخدامه في الطلب التالي. أحد تطبيقات الجلسة المحفوظة محليًا هو حفظ المعلومات على ملفات تعريف الارتباط ، ولكن في الواقع ، فإن ملفات تعريف الارتباط ليست هي الحل الوحيد لحفظ الجلسات. من الممكن أيضًا استخدام إعادة كتابة عنوان URL (إلحاق معرف الجلسة مباشرة خلف مسار عنوان URL).
3. الاختلافات الرئيسية بين ملفات تعريف الارتباط و SessionD
1. هناك اختلاف طفيف في موقع التخزين
يتم تخزين بيانات ملفات تعريف الارتباط على متصفح العميل ولا تحتاج إلى حفظها على جانب الخادم. يتم وضع بيانات الجلسة على الخادم وهناك أيضًا نسخة من الذاكرة المحلية.
2. سلامة مختلفة
ملفات تعريف الارتباط ليست آمنة مثل الجلسة. نظرًا لأن ملفات تعريف الارتباط العادية يتم حفظها على القرص الصلب المحلي ، يمكن للمتسللين شن هجمات XS عن طريق تزوير عناوين URL وغيرها من الوسائل للحصول على ملفات تعريف الارتباط في الحالة المحفوظة على القرص الصلب المحلي ، ثم سرقة المعلومات الحساسة للمستخدمين.
الجلسة مختلفة. فقط عند بدء تشغيل هجوم XSS عندما يقوم المستخدم بتسجيل الدخول إلى موقع الويب هذا ، يمكن الحصول على معلومات الجلسة. بعد إغلاق المتصفح ، سيتم تدمير الجلسة. الأمن أفضل من ملفات تعريف الارتباط.
3. الاختلافات في دعم النطاق المتقاطع
تدعم ملفات تعريف الارتباط الوصول عبر المجال. على سبيل المثال ، إذا تم تعيين سمة المجال على ".biaodianfu.com" ، فيمكن أن تصل جميع أسماء النطاق مع اللاحقة ".biaodianfu.com" إلى ملف تعريف الارتباط. يتم الآن استخدام ملفات تعريف الارتباط عبر المجال على نطاق واسع على الإنترنت ، مثل Google و Baidu و Sina ، إلخ. لا تدعم الجلسة الوصول عبر المجال. الجلسة صالحة فقط في اسم المجال الذي هو فيه.
4. الفرق في ضغط الخادم
يتم تخزين الجلسة على جانب الخادم ، وسيقوم كل مستخدم بإنشاء جلسة. إذا كان هناك العديد من المستخدمين الذين يصلون إلى حد ما ، فسيقومون بإنشاء الكثير من الجلسات ويستهلكون الكثير من الذاكرة. لذلك ، من غير المحتمل أن يتم تتبع مواقع الويب مثل Google و Baidu و Sina مع زيارات متزامنة عالية للغاية باستخدام الجلسة. النظر في تقليل أداء الخادم ، يجب استخدام ملف تعريف الارتباط.
5. طرق وصول مختلفة
لا يمكن تخزين سلاسل ASCII إلا في ملفات تعريف الارتباط. إذا كانت هناك حاجة إلى أحرف Unicode أو البيانات الثنائية ، فسيكون الترميز مطلوبًا أولاً. لا يمكن الوصول إلى كائنات Java مباشرة في ملفات تعريف الارتباط. لتخزين معلومات معقدة قليلاً ، يعد استخدام ملفات تعريف الارتباط أمرًا صعبًا للغاية.
يمكن أن تصل الجلسة إلى أي نوع من البيانات ، بما في ذلك على سبيل المثال لا الحصر ، وتكوين عدد صحيح ، وقائمة ، وخريطة ، وما إلى ذلك ، في الجلسة ، يمكن تخزين فاصوليا Java وحتى أي فئات Java ، والكائنات ، وما إلى ذلك ، وهو سهل الاستخدام للغاية. يمكنك التفكير في الجلسة كصف حاوية Java.
6. حجم ملفات تعريف الارتباط محدودة
لا يمكن أن تتجاوز البيانات التي يتم حفظها بواسطة ملف تعريف ارتباط واحد 4K ، ويقيد العديد من المتصفحات موقعًا لتوفير ما يصل إلى 20 ملف تعريف الارتباط.
إن الفهم البسيط أعلاه للجلسة وملفات تعريف الارتباط هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.