تم تصميم الويب بحيث يكون كل طلب من متصفّح ويب إلى موقع إلكتروني منفصلاً. بطبيعتها، لا تملك الويب "ذاكرة". في كل مرة تفتح فيها صفحة ويب، لا يمكن للموقع الإلكتروني الذي تزوره تذكُّر المعلومات من جلستك الأخيرة. يساعد ذلك في جعل الويب أكثر فعالية، إذ لا حاجة إلى آلية لتتبُّع الطلبات والردود.
إلا أنّ طبيعة الويب التي تنسى كل شيء تطرح أيضًا مشكلة. على سبيل المثال، كيف يمكن أن تعمل سلّة التسوّق إذا كان الموقع الإلكتروني الذي تتصفّحه لا يتذكّر ما أضفته إليها؟
تم ابتكار ملفات تعريف الارتباط لحلّ هذه المشكلة.
تمنح ملفات تعريف الارتباط المواقع الإلكترونية القدرة على تذكُّر المعلومات
عند زيارة صفحة على موقع إلكتروني، يرسل متصفّح الويب طلبات إلى خادم الموقع الإلكتروني للحصول على الموارد المضمّنة في الصفحة، مثل HTML أو CSS أو JavaScript أو الصور.
تتفاعل متصفّحات الويب والمواقع الإلكترونية باتّباع بروتوكول HTTP. وهي عبارة عن مجموعة موحّدة من القواعد المتعلّقة بالتواصل.
عند تلقّي طلب HTTP للحصول على أحد الموارد، يمكن لخادم الموقع الإلكتروني تضمين معلومات إضافية تُعرف باسم العناوين مع المورد نفسه. يتم تضمين عنوان Set-Cookie
في استجابة HTTP، وهو يطلب من المتصفّح تخزين بعض النصوص، أي اسم وقيمة. ويُعرف ذلك باسم ملف تعريف الارتباط. على سبيل المثال، يخبر عنوان الاستجابة Set-Cookie: cat=tabby
المتصفّح
بتخزين ملف تعريف ارتباط باسم "cat" وقيمة "tabby".
بعد ضبط ملف تعريف الارتباط هذا، ستتضمّن الطلبات اللاحقة من متصفّحك إلى الموقع الإلكتروني العنوان Cookie: cat=tabby
. يمكن لخادم الموقع الإلكتروني الوصول إلى ملف تعريف الارتباط من عنوان الطلب،
واستخدام القيمة.
طريقة عمل ملفات تعريف الارتباط: إرشادات مفصّلة
لنفترض أنّك انتقلت إلى الموقع الإلكتروني cats.example
. يريد الموقع الإلكتروني عرض صورة عشوائية لقطة، والاحتفاظ بسجلّ يوضّح القطة التي تم عرضها لك.
توضّح الخطوات التالية كيفية إجراء ذلك باستخدام ملفات تعريف الارتباط.
1. يطلب المتصفّح ملفًا
تنتقل إلى الصفحة الرئيسية للموقع الإلكتروني cats.example
.
بعد أن يعالج المتصفّح رمز HTML الخاص بالصفحة الرئيسية، يطلب الملفات الموجودة على الصفحة، بما في ذلك cat.jpg
من cats.example
.
2. استجابة خادم الموقع الإلكتروني
يستجيب الخادم في cats.example
بملف الصورة cat.jpg
.
مع الاستجابة، يضمِّن الخادم العنوان التالي: Set-Cookie: cat=tabby
.
3- يتلقّى المتصفّح الردّ
يتلقّى المتصفّح ملف الصورة، ويعالج عنوان Set-Cookie: cat=tabby
المضمّن فيه.
يتم تخزين ملف تعريف الارتباط: الاسم cat
، القيمة tabby
.
4. المتصفّح يرسل طلبات إضافية
من الآن فصاعدًا، سيتضمّن متصفّحك العنوان Cookie: cat=tabby
مع الطلبات المُرسَلة إلى cats.example
.
عندما يتلقّى خادم الويب cats.example
طلبًا، يمكنه معالجة ملف تعريف الارتباط وتنفيذ أي إجراء يريده باستخدام تلك القيمة، مثل التأكّد من عدم إرسال صورة القطّة المخطّطة نفسها إليك مرة أخرى.
في ما يلي عملية ملفات تعريف الارتباط بأكملها:
- يطلب المتصفّح ملفًا من خادم موقع إلكتروني.
- يمكن أن يتضمّن الخادم عنوانًا، مثل
Set-Cookie: cat=tabby
، مع الملف الذي يرسله استجابةً للطلب. - عندما يتلقّى المتصفّح الردّ، يخزّن ملف تعريف الارتباط.
- مع كل طلب لاحق، يرسل المتصفّح ملف تعريف الارتباط إلى الخادم في العنوان
Cookie: cat=tabby
.
الوصول إلى ملفات تعريف الارتباط باستخدام JavaScript
يستخدم المثال السابق عنوان استجابة Set-Cookie
لضبط ملف تعريف ارتباط.
يمكن أيضًا إنشاء ملفات تعريف الارتباط باستخدام JavaScript من خلال طريقة document.cookie
.
جرِّب العرض التوضيحي: javascript-cookie.glitch.me.
مزيد من المعلومات: المستند: سمة ملف تعريف الارتباط
لماذا نحتاج إلى ملفات تعريف الارتباط؟
في عام 1994، كان المهندس "لو مونتولي" يعمل في شركة البرامج Netscape التي طوّرت متصفّح الويب الأكثر شيوعًا في منتصف التسعينيات.
في الوقت نفسه، كانت شركة اتصالات، MCI، تحاول إنشاء سلّة تسوّق لأحد أوائل المتاجر على الإنترنت في العالم. تواصلت شركة MCI مع مونتولي لشرح مشكلتها. ردّ مونتولي بإضافة ميزة إلى HTTP تتيح للموقع الإلكتروني تخزين كمية صغيرة من النص على متصفح الويب الخاص بالمستخدم، أي اسم وقيمة، مثل cart-id=123
. وقد أطلق عليها اسم "ملف تعريف ارتباط"، لأنّ المبرمجين كانوا يستخدمون في تلك الأيام عبارة "ملف تعريف ارتباط سحري" للإشارة إلى جزء صغير من المعلومات الإضافية المضمّنة في عملية نقل البيانات.
أكمل مونتولي عمله على ملفات تعريف ارتباط HTTP في أقل من أسبوع. لم يكن يعلم أنّ ملفات تعريف الارتباط ستصبح أساسية للعديد من الميزات المهمة في منصة الويب، بما في ذلك الإعلانات وتسجيل الدخول والدفعات ورصد الاحتيال. ملفات تعريف الارتباط هي تكنولوجيا بسيطة ظاهريًا، ولكنّها تسبّبت في آثار جانبية بعيدة المدى.
استخدامات ملفات تعريف الارتباط
تسمح ملفات تعريف الارتباط للمتصفّح بتخزين كمية صغيرة من المعلومات حول المستخدم، وذلك لتذكُّر بعض التفاصيل خلال طلبات متعددة. تتعدّد استخدامات ملفات تعريف الارتباط، ومنها:
- إدارة الجلسات
تتيح للموقع الإلكتروني التعرّف على المستخدم، مثلاً للحفاظ على حالة تسجيل الدخول على مستوى الصفحات المختلفة. - التخصيص
تخزين الإعدادات المفضّلة للمستخدم، مثل اللغة أو المظهر أو العناصر التي تم عرضها مؤخرًا، لتخصيص تجربة الموقع الإلكتروني - التتبُّع
في السابق، كانت ملفات تعريف الارتباط تُستخدَم لتتبُّع سلوك المستخدمين على المواقع الإلكترونية، وذلك لأغراض الإعلانات المستهدَفة وحالات الاستخدام الأخرى.
تُستخدَم ملفات تعريف الارتباط في الغالب للمعّرفات، وليس لتخزين المعلومات مباشرةً.
على سبيل المثال، لن يتضمّن ملف تعريف الارتباط الخاص بسلّة التسوّق في متجر حيوانات أليفة على الإنترنت قائمة بالمنتجات، بل سيتضمّن رقم تعريف حساب يتيح للمتجر البحث عن محتوى سلّة التسوّق في مساحة تخزين البيانات على الخادم.
قد يتضمّن طلب موجّه إلى خادم متجر الحيوانات الأليفة عنوان ملف تعريف ارتباط على النحو التالي:
Cookie: _cart=CART1.2.34567890.123456789
يمكن للخادم بعد ذلك البحث عن حساب _cart
في مخزن البيانات الخاص به وتضمين معلومات أخرى حول الطلب.
تعرَّف على مزيد من المعلومات
- سمات ملفات تعريف الارتباط
- ما هي ملفات تعريف الارتباط التابعة لجهات خارجية؟
- طلب HTTP واستجابته
- أدوات ملفات تعريف الارتباط
- العروض التوضيحية لملفات تعريف الارتباط
- استخدام ملفات تعريف ارتباط HTTP
- ملف تعريف الارتباط السحري: كيف عالج "لو مونتولي" فقدان الذاكرة في الويب؟
- ملفات تعريف ارتباط HTTP (المواصفات الأصلية)
- ملفات تعريف ارتباط HTTP، أو كيفية عدم تصميم البروتوكولات