کوکی چیست؟
یک کوکی در واقع یک فایل متنی کوچک است که در قسمتی مشخص از کامپیوتر کلاینت که توسط مرورگر تنظیم شده است، ذخیره میشود. این فایل متنی کوچک حاوی اطلاعات زیر است:
- یک جفت داده نام-مقدار (name-value pair) که داده اصلی کوکی را نگهداری میکند.
- خاصیتی برای مشخص کردن زمان انقضای کوکی (پس از این زمان این فایل متنی کوچک از درون مرورگر حذف خواهد شد).
- خاصیتهایی برای مشخص کردن محدودهها و مسیرهای قابل دسترسی کوکی.
- خاصیتهایی برای تعیین نحوه تبادل دادههای کوکی و نوع دسترسی به این دادهها (مثلا الزام به استفاده از پروتکلهای امن).
انواع کوکی
بطور کلی دو نوع اصلی کوکی وجود دارد:
Session cookie -1
از این نوع کوکی برای نگهداری موقت دادهها نظیر دادههای مربوط به وضعیت یک کاربر، تنها در زمان مرور وب سایت استفاده میشود. معمولا با بستن مرورگر (یا اتمام جلسه) این کوکیها ازبین می روند.
Persistent cookie -2
برخلاف کوکیهای جلسه ای این نوع کوکیها در سیستم کلاینت به صورت دائمی ذخیره میشوند. معمولا دارای یک تاریخ انقضا هستند که پس از آن از بین می روند. در طول زمان حیات این کوکی ها، مرورگرها دادههای ذخیره شده در آنها را با توجه به تنظیمات درونشان در هر درخواست به سمت وب سرور سایت مربوطه ارسال میکنند.
با توجه به کاربردهای فراوان کوکی، دسته بندی ها و انواع دیگری از کوکی را هم میتوان نام برد. مانند انواع زیر:
Secure cookie
معمولا به کوکیهایی که خاصیت امن (Secure Attribute) در آنها فعال است این عنوان اطلاق میشود. این نوع از کوکیها تنها قابل استفاده در ارتباطهای امن (با استفاده از پروتکل HTTPS ) هستند. این خاصیت اطمینان میدهد که دادههای موجود هنگام تبادل بین سرور و کلاینت همواره کدگذاری میشود.
HttpOnly cookie
در این کوکیها خاصیت HttpOnly فعال است، که موجب میشود که از آنها تنها در ارتباطات از نوع HTTP و HTTPS بتوان استفاده کرد. در سایر روشهای دسترسی به کوکی (مثلا از طریق برنامه نویسی سمت کلاینت) نمیتوان به محتوای این نوع از کوکیها دسترسی پیدا کرد.
Third-party cookie
این نوع از کوکیها در مقابل کوکیهای( First party یا شخص اول) وجود دارند. کوکیهای شخص اول توسط وب سایت جاری تولید شده اند، یعنی نشانی دامنه این کوکیها مربوط به سایت جاری است. منظور از سایت یا دامنه جاری، سایتی است که آدرس آن در نوار آدرس مرورگر نشان داده میشود. (کوکیهای Third party یا شخص سوم) به آن دسته از کوکیها میگویند که توسط دامنه یا وب سایت دیگری غیر از وب سایت جاری تولید و مدیریت میشوند. مثلا کوکیهای مربوط به سایتهای تبلیغاتی. البته در مرورگرهای مدرن این نوع از کوکیها به دلیل مشکلات امنیتی و نقض حریم شخصی کاربران عموما بلاک میشوند.
Supercookie
یک سوپرکوکی به آن دسته از کوکیها گفته میشود که خاصیت دامنه آنها به یک پسوند خیلی کلی مثل com. تنظیم شده باشد. به دلیل مسائل امنیتی بیشتر مرورگرهای مدرن تمامی انواع این سوپرکوکیها را بلاک میکنند. امروزه لیستی از این پسوندهای کلی با عنوان Public Suffix List موجود است که در مرورگرهای مدرن برای کنترل کوکیها استفاده میشود.
منبع: وبلاگ شکوفه قالیبافان