کوکی چیست؟
کوکی
ها حدود سال 2000 بسیار مورد توجه رسانه ها قرار گرفتند زیرا بحث هایی بر
سر شکسته شدن حریم خصوصی کاربران توسط کوکی ها به وجود آمده بود که همچنان
ادامه دارد.
از طرف دیگر کوکی ها، وب سایتها را برای مرور کاربران ساده
تر می سازند. طراحان اغلب وب سایتها از آن برای کاربر پسندتر ساختن وب سایت
و جمع آوری اطلاعات دقیق تر در مورد بازدیدکنندگان سایت، استفاده می کنند.
در
این مقاله نگاهی به فناوری زیربنایی کوکی ها می اندازیم و برخی از
امکاناتی را که برای کاربران فراهم می کنند بررسی می نماییم. در مقاله بعدی
در مورد مشکلات و مخاطرات کوکی ها صحبت خواهیم کرد.
مدتی قبل مطلبی را در مورد کوکی ها در یک روزنامه معتبر می خواندم. این روزنامه وزین کوکی را این طور تعریف کرده بود:
"
کوکی ها برنامه هایی هستند که وب سایتها بر روی هارد دیسک شما قرار می
دهند. آنها بر روی کامپیوتر شما می نشینند و اطلاعاتی را در مورد شما و
انچه در اینترنت انجام می دهید جمع آوری می کنند و هر زمان که وب سایت
بخواهد، اطلاعات شما را از کوکیتان دریافت می کند." (که البته این تعریف
نادرست است)
تعاریفی از این دست در بین کاربران عادی رایج است. مشکل
این است که هیچ کدام از این اطلاعات صحیح نمی باشد. کوکی ها برنامه نیستند
و نمی توانند مانند برنامه ها اجرا شوند. بنابراین آنها نمی توانند هیچ
اطلاعاتی را جمع آوری کنند. همچنین آنها نمی توانند اطلاعات شخصی شما را از
روی کامپیوترتان خوانده و آنها را ارسال کنند.
در زیر یک تعریف معتبر درباره کوکی آورده شده است:
"
کوکی یک فایل متنی است که یک وب سرور می تواند آن را بر روی هارد دیسک
کاربر ذخیره کند. کوکی ها به وب سایت ها امکان ذخیره و بازیابی برخی
اطلاعات را بر روی کامپیوتر کاربر می دهند. اطلاعاتی که ذخیره می شود در
واقع زوج های نام - مقدار هستند."
برای مثال، یک وب سایت می تواند
برای هر بازدید کننده یک شناسهیکتا تولید کرده و آن را بر روی کامپیوتر وی
با استفاده از یک فایل کوکی ذخیره سازد.
در صورتی که شما از IE برای
مرور وب استفاده می کنید، می توانید تمام کوکی هایی را که بر روی کامپیوتر
شما ذخیره شده است مشاهده نمایید. کوکی ها معمولاً در دایرکتوری
c:windowscookies ، C:WINDOWSsystem32configsystemprofile یا C:Documents
and SettingUserNameCookies ذخیره می شوند. شما می توانید هر فایل کوکی را
با کلیک کردن بر روی آن باز کنید و در آن زوج نام- مقدار (name-value) را
ببینید. در این دایرکتوری مشاهده می کنید که کوکی ها فایلهایی ساده، نرمال و
متنی هستند. شما می توانید وب سایتهایی را که بر روی کامپیوترتان کوکی
قرار داده اند، با دیدن نام فایل تشخیص دهید (اطلاعات مربوط به وب سایت در
داخل فایل هم ذخیره می شوند).
برای مثال ممکن است در یک کوکی اطلاعات زیر ذخیره شود:
در این مثال Goto.com یک زوج نام- مقدار را بر روی
کامپیوتر کاربر ذخیره کرده است. در اینجا نام UserID است و مقدار آن
A9A3BECE0563982D است. اولین باری که کاربر به Goto.com مراجعه کرده، وب
سایت به آن یک شناسه با مقدار یکتا اختصاص داده و آن را بر روی سیستم ذخیره
کرده است.
دقت کنید که ممکن است مقادیر دیگری نیز در فایل، بعد از
آنچه در بالا نشان داده شده است، نیز ذخیره شود که به آن اطلاعات راه
اندازی (housekeeping information) برای مرورگر گفته می شود.
برخی وب سایت ها مانند آمازون ممکن است اطلاعات بیشتری را ذخیره سازند، برای مثال یک نمونه از کوکی های آمازون در زیر آورده شده است:
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®ION= www.msn.com/
بسیاری از وب سایت ها تنها یک شناسه را بر روی کوکی ذخیره می کنند و دیگر اطلاعات را بر روی پایگاه داده هایشان ذخیره می سازند، ولی نوشتن زوج نام – مقدار هم یکی از روش ها است که در مقاله بعدی درباره علت عدم محبوبیت آن توضیح خواهیم داد.
-
وب سایتهای تجارت الکترونیکی می توانند چیزهایی شبیه کارت خرید یا سبد خرید ایجاد کنند. در این صورت کوکی شامل یک شناسه است که برای وب سایت امکان نگهداری چیزهایی را که به سبد خرید اضافه می کنید، فراهم می کند. هر آیتمی که به سبد خرید اضافه می کنید در پایگاه داده وب سایت همراه با شناسه شما ذخیره می گردد. زمانی که دوباره به سایت وارد می شوید، وب سرور با استفاده از شناسه شما و پایگاه داده می تواند دریابد چه چیزهایی در سبد خرید شما موجود است. ایجاد یک مکانیزم خرید راحت برای کاربران بدون استفاده از کوکی ها تقریباً غیرممکن است.
در تمام مثال های مذکور، دقت داشته باشید که پایگاه داده تنها قادر به ذخیره سازی چیزهایی است که شما از سایت انتخاب کرده اید، صفحه هایی که از همان وب سایت مشاهده کرده اید، اطلاعاتی که در فرم های آنلاین به وب سایت داده اید و غیره. در بیشتر موارد تمام اطلاعات بر روی پایگاه داده وب سایت ذخیره می گردد و شناسه یکتا تنها چیزی است که بر روی کوکی در کامپیوتر شما قرار می گیرد.
مخاطرات و مشکلات استفاده از کوکی ها و روش های مقابله با این مشکلات را در مقاله بعدی مطرح خواهیم کرد.