1 ما هو ملف تعريف الارتباط
يتواصل المتصفح وخادم الويب باستخدام بروتوكول HTTP. عندما يصدر المستخدم طلب صفحة ، يستجيب خادم الويب ببساطة ثم يغلق الاتصال بالمستخدم. لذلك ، عندما يتم إرسال طلب إلى خادم ويب ، بغض النظر عما إذا كانت الزيارة الأولى ، سيعاملها الخادم على أنها المرة الأولى. هذا شيء سيء يمكن تخيله. للتعويض عن هذا العيب ، قامت Netscape بتطوير ملف تعريف ارتباط ، وهي أداة فعالة لحفظ معلومات التعريف لمستخدم معين ، لذلك أطلق عليها الأشخاص "ملفات تعريف الارتباط الحلوة". ملفات تعريف الارتباط هي وسيلة تخزن بها خوادم الويب معلومات عن القرص الصلب للزوار من خلال المتصفح: يستخدم Netscape Navigator ملفًا محليًا يسمى cookies.txt لحفظ معلومات ملفات تعريف الارتباط المستلمة من جميع المواقع ؛ بينما يحفظ IE Browser معلومات ملفات تعريف الارتباط في دليل مشابه لـ C:/Windows/Cookies. عندما يزور المستخدم موقعًا مرة أخرى ، سيطلب الخادم من المتصفح العثور على معلومات ملف تعريف الارتباط التي تم إرسالها مسبقًا وتحديدها.
2 أربع سمات ملفات تعريف الارتباط
الحد الأقصى لتحديد عمر ccookie (في ثوان)! بشكل افتراضي ، توجد قيمة ملف تعريف الارتباط فقط أثناء جلسة المتصفح ، وتختفي هذه القيم عندما يخرج المستخدم من المتصفح!
يحدد المسار صفحة الويب المرتبطة بملف تعريف الارتباط. بشكل افتراضي ، يرتبط ملف تعريف الارتباط بصفحة الويب التي تنشئها ، بالإضافة إلى صفحة الويب في نفس الدليل مثل صفحة الويب والمدافع الفرعي في الدليل.
إعداد المجال مجال الوصول على سبيل المثال: يحتاج الخادم الموجود في order.example.com إلى قراءة ملف تعريف الارتباط الذي تم تعيينه بواسطة catalog.example.com. هنا تحتاج إلى تقديم سمة المجال. على افتراض أن ملف تعريف الارتباط الذي تم إنشاؤه بواسطة الصفحة الموجودة في Catalog.example.com يعين سمة المسار الخاصة به على "/" سمة المجال إلى ".example.com" ، ثم جميع صفحات الويب الموجودة في "catalog.example.com" وجميع صفحات الويب الموجودة في "orders.example.com" وجميع صفحات الويب الموجودة في "orders.example.com" وجميعها من الخورات الأخرى الموجودة في موقع cookie. إذا لم يتم تعيين قيمة مجال ملف تعريف الارتباط ، فإن القيمة الافتراضية لهذه السمة هي اسم المضيف للخادم حيث يتم إنشاء صفحة الويب التي يتم فيها إنشاء ملف تعريف الارتباط. ملاحظة: لا يمكن ضبط مجال ملف تعريف الارتباط على مجال خارج المجال حيث يوجد الخادم.
يحدد Seure كيف يتم إرسال قيمة ملف تعريف الارتباط على الشبكة
3 Java Cookie Operation
إنشاء ملف تعريف ارتباط
// كائن ملفات تعريف الارتباط الجديد ، زوج القيمة الرئيسية هو ملف تعريف الارتباط المعلمة = ملف تعريف الارتباط الجديد ("مفتاح" ، "قيمة ملفات تعريف الارتباط") ؛ إذا كانت قيمة ملف تعريف الارتباط تحتوي على الصينية ، فسيحتاج ملف تعريف الارتباط إلى تشفيرها ، فسيحدث رمز مشجعة. استخدم urlencoder.encode ("قيمة ملفات تعريف الارتباط" ، "UTF-8") ؛ // قم بتعيين أقصى وقت البقاء على قيد الحياة من ملفات تعريف الارتباط ، في ثوانٍ ، إذا كان الرقم السلبي هو عملية المتصفح ، فإن إغلاق ملف تعريف الارتباط للمتصفح يختفي ملف تعريف الارتباط (*24*60*60) ؛ // يومًا واحدًا // أضف ملف تعريف الارتباط إلى الاستجابة لجعله يستحق التأثير. addcookie (ملف تعريف الارتباط) ؛ // بعد addcookie ، إذا كان ملف تعريف الارتباط الذي يحمل نفس الاسم موجودًا بالفعل ، فإن أحدث كتابة ملفات تعريف الارتباط القديمةملاحظة: في الدعامات ، يمكنك استخدام ServleTactionContext.getResponse () للحصول على كائن المسترجع
اقرأ ملفات تعريف الارتباط
يمكن قراءة ملفات تعريف الارتباط فقط الحصول على جميع ملفات تعريف الارتباط من الطلب ثم التكرار في حلقة.
في الدعامات ، يمكنك استخدام servletactionContext.getRequest () للحصول على كائن الطلب
// احصل على ملف تعريف الارتباط من الطلب ، وستحصل على مجموعة من ملفات تعريف الارتباط ملفات تعريف الارتباط [] cookies = request.getCoOkies () ؛ // ثم تكرار إذا (ملفات تعريف الارتباط! = NULL && cookies.length> 0) {// إذا لم تكن قد قمت بتعيين ملف تعريف ارتباط ، فسوف يعود إلى (ملفات تعريف الارتباط ملفات تعريف الارتباط: ملفات تعريف الارتباط) {...}} حذف ملفات تعريف الارتباط
إذا قمت بحذف ملف تعريف الارتباط ، فأنت بحاجة فقط إلى ضبط عمر ملف تعريف الارتباط على 0.
ملفات تعريف الارتباط [] ملفات تعريف الارتباط = request.getCoOkies () ؛ if (ملفات تعريف الارتباط! = null && cookies.length> 0) {for (ملفات تعريف الارتباط ملفات تعريف الارتباط: ملفات تعريف الارتباط) {string name = cookie.getName () ؛ // ابحث عن ملف تعريف الارتباط الذي يجب حذفه إذا (name.compareto ("target-key") == 0) {// اضبط مدى الحياة على 0 cookie.setMaxage (0) ؛ // أعود إلى reponse.addcookie (ملف تعريف الارتباط) ؛ }}}يتم استخدام طريقة setPath من 4 ملفات تعريف الارتباط:
لا يمكن مشاركة ملفات تعريف الارتباط العادية إلا في تطبيق واحد ، أي لا يمكن الحصول على ملف تعريف الارتباط إلا من خلال التطبيق الذي أنشأه.
1. يمكن مشاركة الطريقة داخل خادم التطبيق نفسه: تعيين cookie.setpath ("/") ؛
يوجد تطبيقان ضمن Tomcat/WebApp الأصلي: WebApp_A و WebApp_B.
1) اتضح أنه لا يمكن الحصول على ملف تعريف الارتباط تحت WebApp_A بموجب WebApp_B. المسار هو مسار التطبيق الذي يولد ملف تعريف الارتباط بشكل افتراضي.
2) إذا قمت بتعيين ملف تعريف الارتباط ضمن webapp_a ، فأضف ملف تعريف الارتباط ("/") ؛ أو cookie.setPath ("/webapp_b/") ؛
يمكنك الحصول على ملف تعريف الارتباط بواسطة CAS ضمن WebApp_B.
3) تعتبر المعلمات هنا نسبة إلى الدليل الجذر لمجلد التطبيق المخزن بواسطة خادم التطبيق (مثل WebApp ضمن Tomcat) ، لذلك cookie.setpath ("/") ؛ بعد ذلك ، يمكن مشاركة ملف تعريف الارتباط في جميع التطبيقات ضمن مجلد WebApp ، و cookie.setPath ("/webapp_b/") ؛
وهذا يعني أنه لا يمكن الحصول على ملف تعريف الارتباط الذي تم تعيينه بواسطة تطبيق CAS إلا ضمن تطبيق WebApp_B ، وحتى تطبيق WebApp_A الذي ينشئ ملف تعريف الارتباط هذا لا يمكن استخدامه.
4) عند تعيين ملف تعريف الارتباط ("/webapp_b/jsp") أو cookie.setpath ("/webapp_b/jsp/") ، لا يمكن الحصول على ملف تعريف الارتباط إلا ضمن WebApp_B/JSP ، ولكن لا يمكن الحصول على ملفات تعريف الارتباط خارج مجلد JSP.
5) تعيين cookie.setPath ("/webapp_b") ؛ يعني أنه لا يمكن استخدام ملفات تعريف الارتباط إلا بموجب WebApp_B ، بحيث لا يمكن الحصول على ملفات تعريف الارتباط ضمن WebApp_A التي تنشئ ملفات تعريف الارتباط.
6) عندما يكون هناك عدة ملفات تعريف الارتباط. البيانات ، آخر واحد يسود.
5 ملفات تعريف الارتباط.
المجال حيث يوجد الجهاز A: home.langchao.com ، A لديه تطبيق WebApp_A
المجال حيث يوجد جهاز B: JSZX.com ، B لديه تطبيق WebApp_B
1) عند إعداد ملفات تعريف الارتباط ضمن webapp_a ، أضف cookie.setdomain (". jszx.com") ؛ بحيث يمكنك الحصول على ملفات تعريف الارتباط ضمن WebApp_B.
2) عند إدخال عنوان URL للوصول إلى WebApp_B ، يجب عليك إدخال اسم المجال لحلها. على سبيل المثال ، عند الإدخال: http://lc-bsp.jszx.com:8080/webapp_b في الجهاز a ، يمكنك الحصول على ملف تعريف الارتباط بواسطة webapp_a على العميل ، بينما عند الإدخال: http: // localhost: 8080/webapp_b ، لا يمكنك الحصول على ملف تعريف الارتباط.
3) cookie.setdomain (". jszx.com") ؛ يمكن أيضًا مشاركتها تحت home.langchao.com الافتراضي
الكليشيه أعلاه يتحدث عن استخدام ملفات تعريف الارتباط في Java هو كل المحتوى الذي أشاركه معك. آمل أن يعطيك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.