ومن ناحية أخرى، فهي توفر إمكانات تجعل التنقل عبر الويب أسهل بكثير، حيث يستخدمها مصممو المواقع الهامّة لأنها توفر تجربة أفضل للمستخدم وتجعل جمع المعلومات الدقيقة عن زوار الموقع أسهل بكثير.
سنلقي في هذه المقالة نظرة على التكنولوجيا الأساسية الكامنة وراء الكوكيز، فضلاً عن بعض الميزات التي تتيحها.
أساسيات الكوكيز
قد نجد بعض المواقع أو الصحف تُعرِّف الكوكيز بأنها: برامج تضعها مواقع الويب على قرصك الصلب وتُخزَّن على حاسوبك لتجمع المعلومات عنك وعن كل ما تقوم به على شبكة الإنترنت، ويستطيع موقع الويب تحميل هذه المعلومات التي جمعها متى رغب بذلك. لكن في الواقع لا شيء من هذه المعلومات صحيح، فالكوكيز ليست برامج، ولا يمكن أن تعمل كبرامج فهي غير قادرة على جمع المعلومات من تلقاء نفسها، أو جمع أي معلومات شخصية من جهازك.
فيما يلي تعريف صحيح للكوكيز: الكوكيز هي نصّ يمكن لخادم الويب تخزينه على القرص الصلب لحاسب المستخدم، تمكن الكوكيز موقع الويب من تخزين المعلومات على جهاز المستخدم واستردادها لاحقاً، بحيث يتم تُخَزَّن كل معلومة على شكل زوج من اسم-قيمة (name-value pairs). على سبيل المثال، قد يقوم موقع ويب بإنشاء رقم معرف (ID) فريد لكل زائر وتخزينه على جهاز كل مستخدم باستخدام ملف كوكي.
إذا كنت تستخدم متصفح غوغل كروم (Google Chrome) فيمكنك مشاهدة جميع الكوكيز المخزنة على جهازك عن طريق الرابط التالي chrome://settings/siteData، حيث ستجد عند فتحه مجموعة من الملفات كل منها عبارة عن ملف نصي يحوي زوج اسم-قيمة، ويخَصَّص ملفٌ واحدٌ لكل موقع ويب من المواقع التي خزنت الكوكيز على جهازك، ويمكنك فتح هذه الملفات بالنقر عليها. على سبيل المثال، إن قمت بزيارة موقع nasainarabic.net، سيخزن كوكيز على جهازك، حيث يحوي الملف هذا على المعلومات التالية:
خزّن موقع غوتو على الجهاز زوج (اسم-قيمة)، بحيث أن اسم الزوج (content) الذي يُعبِّر عن معرف المستخدم (UserID)، بينما القيمة هي db4b6f7068796980444c75dd4a37b50441493402981 وهي (قيمة فريدة تختلف من مستخدم لآخر) ويقوم الموقع بتعيينها وتخزينها على الجهاز في المرة الأولى التي زرت فيه الموقع. على الأرجح، ستلاحظ عدة قيم أخرى محفوظة مثل الاسم (Name) واسم النطاق (Domain) وبعض القيم الأخرى الخاصة بالمتصفح التي ينشئها لأغراضه الخاصة.
Name
__cfduid
Domain
.nasainarabic.net
يخزن موقع أمازون Amazon.com معلومات أكثر قليلاً على جهازك. وهذا مثال عن ملفات الكوكيز التي قد يخزنها موقع أمازون على جهازك بعد زيارتك له:
session-id-time
954242000 amazon.com/
session-id
002-4135256-7625846 amazon.com/
session-token
eKQIfwnxuF7qtmX52x6VWAXh@Ih6Uo5H amazon.com/
ubid-main
077-9263437-9645324 amazon.com/
يبدو أن أمازون يخزن معرف المستخدم الرئيسي (user ID)، ومعرف كل جلسة (session)، والوقت الذي بدأت فيه الجلسة (فضلاً عن قيمة ubid-main والتي يمكن أن تكون أي شيء). الغالبية العظمى من المواقع تخزن الـ ID فقط على الجهاز، لكن يمكن للموقع تخزين العديد من أزواج (اسم-قيمة) إذا أرادت ذلك. زوج (اسم-قيمة) هو ببساطة مجموعة من البيانات لها اسم ما، كما أنها ليست برنامجاً ولا يمكنها القيام بأي شيء، إذ يمكن لموقع ويب استرداد المعلومات التي وضعها على الجهاز فقط، ولا يمكنه استرداد معلومات من ملفات كوكيز أخرى أو أي معلومات أخرى من الجهاز.
كيف تُنقل بيانات الكوكيز؟
تنتقل البيانات بالطريقة التالية:
- إذا قمت بكتابة عنوان URL لموقع ويب في المتصفح الخاص بك، يرسل المتصفح طلباً إلى موقع الويب الخاص بالصفحة. على سبيل المثال، إذا قمت بكتابة المسار http://www.amazon.com في المتصفح، عندها سيتصل المتصفح بمخدم أمازون ويطلب صفحته الرئيسية.
- عندما يقوم المتصفح بذلك، سينظر إلى ملف الكوكيز الخاص بموقع أمازون على جهازك، فإن وجد الملف سيقوم بإرسال كل من أزواج (اسم-قيمة) الموجودة في الملف إلى خادم أمازون مرفقة بعنوان الموقع.
- يتلقى مُخدِّم موقع أمازون البيانات وطلب الصفحة، فإن تمّ تلقي أزواج (اسم- قيمة) فيمكن للموقع استخدامها.
- أما في حال عدم تلقّي أي أزواج (اسم-قيمة)، عندها يعلم الموقع أنك لم تزره من قبل، فيقوم المُخدِّم بإنشاء مُعرِّف جديد لك في قاعدة بيانات الموقع، ثم يرسل أزواج (اسم-قيمة) إلى الجهاز الخاص بك في رابط صفحة الويب التي يرسلها، ويخزن الجهاز أزواج (اسم-قيمة) على القرص الصلب خاصتك.
- يمكن للمُخدِّم تغيير أزواج (اسم-قيمة) أو إضافة أزواج جديدة كلما قمت بزيارة الموقع وطلب الصفحة.
- يمكن للخادم إرسال معلوماتٍ أخرى مع زوج (اسم-قيمة)، كتاريخ انتهاء الصلاحية (expiration date)، إضافة إلى المسار (path) بحيث يمكن للموقع ربط قيم مختلفةٍ للكوكيز مع أجزاء مختلفة من الموقع.
تستطيع السيطرة على هذه العملية، إذ يمكنك تعيين خيار في المتصفح الخاص بك، بحيث يقوم المتصفح بإعلامك في كل مرة يرسل فيها الموقع أزواج اسم-قيمة لك، ويمكنك عندئذ قبول القيم أو رفضها.
كيف تستخدم مواقع الويب الكوكيز؟
تطورت الكوكيز لأنها تحل مشكلة كبيرة بالنسبة للأشخاص الذين يقومون بتنفيذ المواقع على شبكة الإنترنت، بمعنى أشمل، تسمح الكوكيز بتخزين معلومات الحالة (state information) على الجهاز، هذه المعلومات تتيح لموقع الويب تذكر حالة المتصفح الخاص بك. يعدّ المعرَّف (ID) جزءاً بسيطاً من معلومات الحالة، ففي حال وجود (ID) على جهازك، يعرف الموقع أنك قد زرته من قبل، فتكون الحالة هي: "زار متصفحك الموقع مرة واحدة على الأقل"، ويعرف الموقع هويتك من تلك الزيارة.تستخدم مواقع الويب الكوكيز بطرق عديدة مختلفة، وفيما يلي بعض الأمثلة الأكثر شيوعاً:
- يمكن للمواقع تحديد عدد الزوار الفعليين بدقة، وتبيَّن أنه بسبب خوادم البروكسي (proxy servers) والتخزين المؤقت (caching)، وتكنولوجيا الإرسال إلى المواقع (concentrators) وهلم ذلك، فإن الطريقة الوحيدة للمواقع لحساب عدد الزوار بدقة هو تعيين كوكيز مع مُعرِّف فريد لكل زائر. وباستخدام الكوكيز يمكن للمواقع تحديد عدد الزوار السابقين، وعدد الزوار الجدد بالنسبة للزوار المتكررين، وعدد المرات التي يتردد فيها الزوّار إلى الموقع. يمكن للمواقع تخزين تفضيلات المستخدم بحيث يعرض الموقع محتوى مختلف لكل زائر (يُشار إليه غالباً بالتخصيص customization). على سبيل المثال، إذا قمت بزيارة موقع msn.com فإنه يوفر لك القدرة على تغيير المحتوى، التصميم واللون. كما يسمح لك بإدخال الرمز البريدي zip code الخاص بك والحصول على معلومات الطقس المخصصة.
- يمكن للمواقع الإلكترونية التجارية تضمين أشياء مثل عربات التسوق (shopping carts) وخيارات التحقق السريع (quick checkout options)، حيث تحتوي الكوكيز على معرف يتيح للموقع تتبع الأشياء المختلفة التي تضيفها لعربة التسوق الخاصة بك، ويتم تخزين كل عنصر تضيفه إلى عربة التسوق الخاصة بك في قاعدة بيانات الموقع بالإضافة إلى قيمة المعرف الخاص بك. عند الدفع، يعرف الموقع محتوى السلة عن طريق استرداد كافة التحديدات الخاصة بك من قاعدة البيانات، ومن دون الكوكيز سيكون من المستحيل التسوق الكترونيّاً أو فعل شيء مماثل.
لاحظنا في الأمثلة السابقة أن جلّ ما يمكن لقاعدة البيانات تخزينه هو الأشياء التي قمت بتحديدها من الموقع، والصفحات التي قمت بعرضها من الموقع، إضافةً للمعلومات التي قدمتها للموقع في نماذج إلكترونية، تُخزَّن كل تلك المعلومات في قاعدة البيانات التابعة للموقع، وفي معظم الحالات كل ما يتم تخزينه على الحاسب هو الكوكيز الذي يحتوي على الـ (ID) الفريد الخاص بك.
مشاكل الكوكيز:
الكوكيز ليست آلية كاملة خالية من الأخطاء والمشاكل، لكنها بالتأكيد تجعل الكثير من الأمور المستحيلة ممكنة. وهنا العديد من الأمور التي تعيبها:
- مشاركة الأجهزة: يتشارك العديد من الأشخاص الأجهزة المتواجدة في الأماكن العامة أو في المكتب أو حتى في المنزل. لنفترض أنك تستخدم جهازاً عاماً في مكتبة مثلاً، لشراء شيء من متجر عبر الإنترنت، فإن المتجر سيترك ملفات كوكيز على الجهاز، فمن الممكن أن يقوم شخصً ما في وقت لاحق بمحاولة شراء شيء من المتجر باستخدام حسابك. عادة تحذّر المتاجر الالكترونيّة من مشاكل كهذه.
- يمكن مسح الكوكيز: إذا واجهت مشكلة مع المتصفح وقمت بالاتصال بالدعم الفني، فعلى الأرجح سيكون طلبهم الأول هو محو كل ملفات الإنترنت المؤقتة على جهازك، وبالتالي ستفقد كل ملفات الكوكيز عند قيامك بذلك. الآن عند زيارة الموقع مرة أخرى، سيعتقد الموقع أنك مستخدم جديد وسيقوم بتعيين كوكيز جديدة لك. هذا يؤدي إلى تغيير سجل الموقع المتعلّق بالزائرين الجدد وأولئك الذين يترددون إلى الموقع بشكلٍ متكرر، لهذا السبب تطلب منك الموقع تسجيل الدخول، فإن قمت بالتسجيل باسم مستخدم وكلمة مرور، عندها يمكنك تسجيل الدخول واستعادة التفضيلات حتى عند فقدان ملف الكوكيز الخاص بك، بينما في حال تخزين التفضيلات مباشرة على الجهاز سيكون من المستحيل استردادها بعد الحذف، ولهذا تقوم العديد من المواقع بتخزين المعلومات في قاعدة بيانات مركزية وتخزين قيمة الـ (ID) فقط على جهاز المستخدم.
- الأجهزة المتعددة: غالباً ما يستخدم الناس أكثر من جهاز واحد في اليوم، جهاز في المكتب وجهاز في المنزل وحاسب محمول، سيكون هناك ملف كوكيز مختلف على كل جهاز من الأجهزة الثلاثة، وأي موقعٍ أزوره باستخدام الأجهزة الثلاثة سيعتبرني كثلاث مستخدمين مختلفين، أي موقع يزوره على هذه الآلات الثلاث سيتعقبه كثلاثة مستخدمين منفصلين، إلّا إنّ الموقع الذي يسمح بتسجيل المستخدمين (registration) وتخزين التفضيلات مركزياً قد يجعل من السهل أن يكون لك نفس الحساب على ثلاث أجهزة، لكن يجب على مصممي الموقع التخطيط لهذا أثناء عملية التصميم.
ربما لا توجد أي حلول سهلة لهذه المشاكل، باستثناء مطالبة المستخدمين بالتسجيل وتخزين كل شيء في قاعدة بيانات مركزية. عندها سيتم حل المشكلة بالطريقة التالية:
يتذكر الموقع قيم الكوكيز ويخزنها في معلومات التسجيل الخاصة بك، في حال تسجيل الدخول من أي جهاز آخر (أو الجهاز الذي فقد ملفات الكوكيز) سيقوم الخادم بتعديل ملف الكوكيز على هذا الجهاز وذلك لاقتران الـ (ID) بمعلومات التسجيل الخاصة بك. وبالتالي يمكنك الحصول على ID واحد يمكن استخدامه على عدة أجهزة.
الكوكيز على الإنترنت: قضايا الخصوصية
إن كنت قد وصلت بالقراءة إلى هذه المرحلة فلابد من أنك تتساءل لم حدثت مثل هذه الضجة في وسائل الإعلام حول الكوكيز والخصوصية على الإنترنت، لقد رأيت في هذه المقالة أن الكوكيز ملفات نصية مفيدة توفر الكثير من القدرات المفيدة على شبكة الإنترنت. هناك سببان لرد الفعل الكبير حول الكوكيز:
- الأول هو الشيء الذي ابتُلي به المستهلكون لعقود، لنفترض أنك اشتريت شيئاً وطلبته عن طريق البريد التقليدي، ولدى الشركة اسمك وعنوانك ورقم هاتفك، كما أنها تعرف العناصر التي قمت بشرائها، يمكنها بيع المعلومات الخاصة بك لجهات أخرى ترغب ببيع منتجات مماثلة لك، فهذا هو الوقود الذي يُغذِّي التسويق الهاتفي (telemarketing) والتسويق عن طريق البريد غير المرغوب فيه، يمكن للموقع إضافةً للمشتريات الخاصة بك ويمكنه تتبُّع الصفحات التي تقرأها والإعلانات التي تنقر عليها وغيرها، مما سيجعل الاستهداف أكثر دقة، ويجعل الكثير من الناس غير مرتاحين. إلا أن سياسات الخصوصية تختلف من موقع لآخر.
- الأمر الثاني فريد من نوعه على الإنترنت، حيث يوجد بعض مزوِّدي البنية التحتية قادرون على إنشاء كوكيز مرئية على مواقع متعددة، وتشكل شركة دبل كليك (DoubleClick) المثال الأكثر شهرة لذلك، حيث تستخدم العديد من شركات دبل كليك خدمة اللافتات الاعلانيّة على مواقعها، إذ يمكن لدبل كليك وضع ملفات Gif صغيرة (1x1 بيكسل) على الموقع مما يسمح لها بتحميل الكوكيز على جهازك، ثم يستطيع دبل كليك تتبع تنقلاتك عبر مواقع متعددة، ويمكن أن ترى سلاسل البحث التي تكتبها في محركات البحث (وذلك بسبب آلية تصميم محركات البحث لأنظمتها)، بالتالي يُشكِّل دبل كليك ملفاً شخصيّاً خاصاً بك غنيّاً بالمعلومات بسبب جمع معلومات كثيرةٍ عنك من مواقع متعددة، ذهب دبل كليك أبعد من ذلك، فمن خلال الحصول على شركة، هدد دبل كليك بربط هذه الملفات الشخصية المجهولة باسم ومعلومات عنوان صاحبها، أي أنه هدد بتخصيص البيانات ثم بيعها. يبدو ذلك كالتجسس على معظم الناس وهذا هو ما تسبب في تلك الضجة.
إن دبل كليك والشركات التي تشابهها تعمل على ذلك النوع من الأشياء لأنها تخدم الإعلانات على العديد من المواقع، التصنيف عبر المواقع ليس قدرة متاحة للمواقع الخاصة وذلك لأن الكوكيز محددة الموقع.