كوكی چيست؟

كوكی چيست؟

تاریخ ایجاد

IRCAR201001048
كوكي ها حدود سال 2000 بسيار مورد توجه رسانه ها قرار گرفتند زيرا بحث هايي بر سر شكسته شدن حريم خصوصي كاربران توسط كوكي ها به وجود آمده بود كه همچنان ادامه دارد.
از طرف ديگر كوكي ها، وب سايتها را براي مرور كاربران ساده تر مي سازند. طراحان اغلب وب سايتها از آن براي كاربر پسندتر ساختن وب سايت و جمع آوري اطلاعات دقيق تر در مورد بازديدكنندگان سايت، استفاده مي كنند.
در اين مقاله نگاهي به فناوري زيربنايي كوكي ها مي اندازيم و برخي از امكاناتي را كه براي كاربران فراهم مي كنند بررسي مي نماييم. در مقاله بعدي در مورد مشكلات و مخاطرات كوكي ها صحبت خواهيم كرد.
مدتي قبل مطلبي را در مورد كوكي ها در يك روزنامه معتبر مي خواندم. اين روزنامه وزين كوكي را اين طور تعريف كرده بود:
" كوكي ها برنامه هايي هستند كه وب سايتها بر روي هارد ديسك شما قرار مي دهند. آنها بر روي كامپيوتر شما مي نشينند و اطلاعاتي را در مورد شما و انچه در اينترنت انجام مي دهيد جمع آوري مي كنند و هر زمان كه وب سايت بخواهد، اطلاعات شما را از كوكيتان دريافت مي كند." (كه البته اين تعريف نادرست است)
تعاريفي از اين دست در بين كاربران عادي رايج است. مشكل اين است كه هيچ كدام از اين اطلاعات صحيح نمي باشد. كوكي ها برنامه نيستند و نمي توانند مانند برنامه ها اجرا شوند. بنابراين آنها نمي توانند هيچ اطلاعاتي را جمع آوري كنند. همچنين آنها نمي توانند اطلاعات شخصي شما را از روي كامپيوترتان خوانده و آنها را ارسال كنند.
در زير يك تعريف معتبر درباره كوكي آورده شده است:
" كوكي يك فايل متني است كه يك وب سرور مي تواند آن را بر روي هارد ديسك كاربر ذخيره كند. كوكي ها به وب سايت ها امكان ذخيره و بازيابي برخي اطلاعات را بر روي كامپيوتر كاربر مي دهند. اطلاعاتي كه ذخيره مي شود در واقع زوج هاي نام - مقدار هستند."
براي مثال، يك وب سايت مي تواند براي هر بازديد كننده يك شناسهيكتا توليد كرده و آن را بر روي كامپيوتر وي با استفاده از يك فايل كوكي ذخيره سازد.
در صورتي كه شما از IE براي مرور وب استفاده مي كنيد، مي توانيد تمام كوكي هايي را كه بر روي كامپيوتر شما ذخيره شده است مشاهده نماييد. كوكي ها معمولاً در دايركتوري c:windowscookies ، C:WINDOWSsystem32configsystemprofile يا C:Documents and SettingUserNameCookies ذخيره مي شوند. شما مي توانيد هر فايل كوكي را با كليك كردن بر روي آن باز كنيد و در آن زوج نام- مقدار (name-value) را ببينيد. در اين دايركتوري مشاهده مي كنيد كه كوكي ها فايلهايي ساده، نرمال و متني هستند. شما مي توانيد وب سايتهايي را كه بر روي كامپيوترتان كوكي قرار داده اند، با ديدن نام فايل تشخيص دهيد (اطلاعات مربوط به وب سايت در داخل فايل هم ذخيره مي شوند).
براي مثال ممكن است در يك كوكي اطلاعات زير ذخيره شود:

UserID A9A3BECE0563982D www.goto.com/

در اين مثال Goto.com يك زوج نام- مقدار را بر روي كامپيوتر كاربر ذخيره كرده است. در اينجا نام UserID است و مقدار آن A9A3BECE0563982D است. اولين باري كه كاربر به Goto.com مراجعه كرده، وب سايت به آن يك شناسه با مقدار يكتا اختصاص داده و آن را بر روي سيستم ذخيره كرده است.
دقت كنيد كه ممكن است مقادير ديگري نيز در فايل، بعد از آنچه در بالا نشان داده شده است، نيز ذخيره شود كه به آن اطلاعات راه اندازي (housekeeping information) براي مرورگر گفته مي شود.
برخي وب سايت ها مانند آمازون ممكن است اطلاعات بيشتري را ذخيره سازند، براي مثال يك نمونه از كوكي هاي آمازون در زير آورده شده است:

  • session-id-time 954242000 amazon.com/
  • session-id 002-4135256-7625846 amazon.com/
  • x-main eKQIfwnxuF7qtmX52x6VWAXh@Ih6Uo5H amazon.com/
  • ubid-main 077-9263437-9645324 amazon.com/

در اينجا آمازون يك UserID اصلي را ذخيره كرده است و براي هر نشست نيز يك شناسهاختصاص داده و زمان شروع آن را ذخيره كرده است. بسياري از وب سايتها همان يك شناسه را بر روي كامپيوتر شما ذخيره مي سازند. در عين حال آنها اجازه دارند تا هر تعداد زوج نام - مقدار را كه مي خواهند در فايل كوكي ذخيره سازند.
تكرار مي كنيم كه كوكي ها برنامه نيستند و نمي توانند هيچ كاري انجام دهند. يك وب سايت تنها مي تواند اطلاعاتي را كه خودش بر روي كامپيوتر شما قرار داده است بازيابي كند و قادر به دسترسي به اطلاعات ديگر كوكي ها و يا اطلاعات روي كامپيوتر شما نيست.
اطلاعات به شيوه زير انتقال مي يابند:

  • زماني كه شما يك URL را در نوار آدرس مرورگر تايپ مي كنيد، مرورگر يك درخواست را براي وب سايت جهت دريافت صفحه مورد نظر شما ارسال مي كند. براي مثال در صورتي كه شما آدرس http://www.amazon.com را در مرورگر بنويسيد، مرورگر شما با وب سرور آمازون تماس گرفته و تقاضاي صفحه اصلي آن را مي كند.
  • زماني كه مرورگر اين كار را انجام داد، بر روي كامپيوتر شما به دنبال يك كوكي كه قبلاً تنظيم كرده باشد مي گردد. در صورتي كه كوكي وجود داشته باشد، مرورگر شما تمام زوج هاي نام - مقدار موجود در فايل را به همراه URL براي سرور آمازون ارسال مي كند. اگر مرورگر فايل كوكي مربوطه را پيدا نكند، به وب سرور آمازون مي گويد كه هيچ اطلاعات كوكي همراه با اين درخواست وجود ندارد.
  • وب سرور آمازون اطلاعات مربوط به داده هاي كوكي و درخواست صفحه را دريافت مي كند. در صورتي كه داده هاي نام- مقدار دريافت شود، آمازون مي تواند از آنها استفاده كند.
  • اگر هيچ زوج اطلاعات نام- مقداري دريافت نشود، آمازون مي فهمد كه شما قبلاً به اين وب سايت مراجعه نكرده ايد. در اين صورت وب سرور آمازون يك شناسه جديد براي شما ايجاد كرده و آن را در پايگاه داده اش قرار مي دهد و سپس زوجهاي نام- مقدار را در سرآيند (header) صفحه درخواست شده براي ماشين شما ارسال مي كند و كامپيوتر شما زوج نام- مقدار را بر روي ديسك سخت ذخيره مي سازد.
  • وب سرور مي تواند زوج هاي نام- مقدار را هر زمان كه شما وب سايت را مشاهده كنيد تغيير داده و يا به آنها اضافه كند.
    وب سرور مجاز است اطلاعات ديگري را نيز همراه جفت نام - مقدار ارسال كند. يكي از اين اطلاعات تاريخ انقضا (expiration date) است. ديگري مسير (path) است كه توسط آن وب سايت مي تواند مقادير مختلف موجود در كوكي را به قسمت هاي مختلف وب سايت نگاشت كند.
    مهم است بدانيد كه شما مي توانيد اين پروسه را كنترل كنيد. مي توان يك گزينه را در مرورگر فعال ساخت تا هر زمان كه وب سايت براي شما زوج نام- مقدار را ارسال مي كند به شما اطلاع دهد. شما مي توانيد كوكي مذكور را بپذيريد يا نپذيريد.

وب سايتها چگونه از كوكي ها استفاده مي كنند؟
كوكي ها پديدار شدند تا مشكل بزرگي را براي سازندگان وب سايتها حل كنند. در واقع يك كوكي به وب سايت اجازه مي دهد اطلاعات وضعيت (state information) را بر روي ماشين شما ذخيره سازد. اين اطلاعات به وب سايت امكان يادآوري وضعيت مرورگر شما را مي دهد. يك شناسه يكي از اطلاعات وضعيت است زيرا در صورتي كه وجود داشته باشد نشان دهنده اين مطلب است كه شما وب سايت مذكور را قبلاً مشاهده كرده ايد. وب سايت ها كوكي ها را به شيوه هاي متفاوتي مورد استفاده قرار مي دهند. در اينجا چند روش متداول آورده شده است:

  • سايت ها نمي توانند دقيقاً مشخص كنند چند نفر واقعاً وب سايت را مورد مشاهده قرار داده اند. به علت وجود Proxy Server ها، caching و concentrator ها و غيره تنها راهي كه مي توان تعداد بازديدكننده هاي واقعي سايت را تشخيص داد تنظيم يك كوكي با شناسه يكتا براي هر بازديدكننده است. سايت ها با استفاده از كوكي ها مي توانند مشخص كنند:
    • چند بازديدكننده وجود دارد.
    • چه تعداد از بازديدكننده ها جديد بوده و چه تعداد بازديدكننده هاي قديمي مي باشند.
    • يك بازديدكننده چند بار و با چه ميانگين زماني به وب سايت سر مي زند.
      روشي كه وب سايت اين كار را انجام مي دهد با استفاده از پايگاه داده است. اولين باري كه يك بازديدكننده به وب سايتي سر مي زند، سايت مذكور يك شناسه براي آن ايجاد كرده و در پايگاه داده ذخيره مي سازد. سپس شناسه را به عنوان يك كوكي ارسال مي كند. هر بار كه بازديدكننده بازگردد، وب سايت شمارنده اي را كه همراه با شناسه در پايگاه داده وجود دارد يكي زياد مي كند و به اين ترتيب متوجه مي شود هر بازديدكننده چند بار به وب سايت مراجعه كرده است.
  • سايت ها مي توانند علاقه مندي هاي كاربران را ذخيره سازند و در نتيجه وب سايت را آن طور كه كاربران مايلند به آنها نشان دهند (به اين امكان customization گفته مي شود ). براي مثال اگر شما msn.com را مشاهده نماييد، به شما امكان تغيير محتوا/قالب/رنگ را مي دهد. همچنين امكان انتخاب كدپستي و در نتيجه تنظيمات اطلاعات آب و هوا را در منطقه سكونت شما فراهم مي كند. در اين صورت اطلاعات زير در كوكي مربوطه ذخيره مي شود:
WEAT CC=NC%5FRaleigh%2DDurham&REGION= www.msn.com/

بسياري از وب سايت ها تنها يك شناسه را بر روي كوكي ذخيره مي كنند و ديگر اطلاعات را بر روي پايگاه داده هايشان ذخيره مي سازند، ولي نوشتن زوج نام – مقدار هم يكي از روش ها است كه در مقاله بعدي درباره علت عدم محبوبيت آن توضيح خواهيم داد.

  • وب سايتهاي تجارت الكترونيكي مي توانند چيزهايي شبيه كارت خريد يا سبد خريد ايجاد كنند. در اين صورت كوكي شامل يك شناسه است كه براي وب سايت امكان نگهداري چيزهايي را كه به سبد خريد اضافه مي كنيد، فراهم مي كند. هر آيتمي كه به سبد خريد اضافه مي كنيد در پايگاه داده وب سايت همراه با شناسه شما ذخيره مي گردد. زماني كه دوباره به سايت وارد مي شويد، وب سرور با استفاده از شناسه شما و پايگاه داده مي تواند دريابد چه چيزهايي در سبد خريد شما موجود است. ايجاد يك مكانيزم خريد راحت براي كاربران بدون استفاده از كوكي ها تقريباً غيرممكن است.

در تمام مثال هاي مذكور، دقت داشته باشيد كه پايگاه داده تنها قادر به ذخيره سازي چيزهايي است كه شما از سايت انتخاب كرده ايد، صفحه هايي كه از همان وب سايت مشاهده كرده ايد، اطلاعاتي كه در فرم هاي آنلاين به وب سايت داده ايد و غيره. در بيشتر موارد تمام اطلاعات بر روي پايگاه داده وب سايت ذخيره مي گردد و شناسه يكتا تنها چيزي است كه بر روي كوكي در كامپيوتر شما قرار مي گيرد.
مخاطرات و مشكلات استفاده از كوكي ها و روش هاي مقابله با اين مشكلات را در مقاله بعدي مطرح خواهيم كرد.

برچسب‌ها