کوکی قطعه کوچکی از داده است که یک وب سایت در کامپیوتر یا دستگاه کاربر در هنگام بازدید از سایت، ذخیره می کند. کوکی های وب مانند ردپایی عمل می کنند تا به یاد بیاورید که قبلا در این سایت چه کارهایی انجام داده اید. کوکی ها به طور معمول حاوی یک شناسه منحصر به فرد هستند که به سایت کمک می کند تا هنگام بازگشت، شما را تشخیص دهد و فعالیت های خود را در حالی که در آنجا هستید پیگیری کنید یا اطلاعات خاصی را در مورد فعالیت های خود به خاطر بسپارید.
در ابتدایی ترین سطح، کوکی ها فقط پرونده های متنی ساده هستند و هیچ عملیاتی را به تنهایی انجام نمی دهند. آن ها صرفاً داده هایی هستند که توسط مرورگر وب به سرور ارائه می شوند و این داده ها را می توان توسط سرور ایجاد کرد تا طیف وسیعی از اطلاعات را از شناسه های ساده گرفته تا تنظیمات کاربر یا نشانه های ورود به سیستم ذخیره کند. کوکی در سال 1994 توسط یکی از کارکنان شرکت نت اسکیپ توسط شخصی به نام لو مونتولی، برای حل مشکل حفظ وضعیت در تراکنش های وب اختراع شد و از آنجایی که وب اساساً بدون حالت بود (به این معنی که هیچ روش داخلی برای حفظ داده های کاربر در چندین بازدید از صفحه وجود نداشت)، اختراع این شکل از ذخیره داده، گامی اساسی در ایجاد تجربه جدید بود که در آن کاربران می توانستند با وبسایت ها تعامل داشته باشند.
اوایل، نگرانی هایی مربوط به حریم خصوصی در مورد کوکی ها وجود نداشت و با پیشرفت اینترنت و تبلیغات، این نگرانی ها افزایش یافت و امروزه در مرکز بحث ها درباره حریم خصوصی آنلاین و شیوه های بازاریابی دیجیتال هستند. کوکی های وب با یادآوری ترجیحات کاربران، تسهیل تراکنش ها و شخصی سازی محتوا را آسان می کنند.
انواع کوکی
کوکی جلسه
کوکی های جلسه (Session Cookies)، موقتی هستند و در لحظه بازدید کاربر از یک وب سایت ایجاد می شوند. از آن ها برای به خاطر سپردن فعالیت ها در حین حرکت در سایت در مرورگر استفاده می شود به عنوان مثال، اقلام موجود در سبد خرید را در یک فروشگاه آنلاین پیگیری و به بهبود تجربه مرور کمک می کنند اما پس از پایان جلسه حفظ نمی شوند و هنگامی که کاربر مرورگر را ببندد، آنها حذف می شوند.
کوکی دائمی
برخلاف کوکی های جلسه، کوکی های دائمی (Persistent Cookies) برای مدت زمان مشخصی در دستگاه کاربر باقی می مانند. آن ها همچنین به عنوان “کوکی های ردیابی” شناخته می شوند زیرا می توان از آنها برای به خاطر سپردن اطلاعات مرور و ردیابی رفتار کاربر در طول زمان مشخص، استفاده کرد. به عنوان مثال، یک وب سایت ممکن است از یک کوکی دائمی برای ذخیره اطلاعات ورود به سیستم یا تنظیمات زبان کاربر استفاده کند، بنابراین لازم نیست هر بار که بازدید می کنید دوباره آنها را وارد کنید.
کوکی شخص ثالث
کوکی های شخص ثالث (Third-Party Cookies) که توسط دامنه هایی غیر از دامنه ای که کاربر، در حال حاضر از آن بازدید می کند، ایجاد شده اند معمولاً برای اهداف تبلیغات آنلاین و شبکه های اجتماعی استفاده می شوند. برای مثال، یک کوکی از یک شرکت بازاریابی ممکن است برای ردیابی رفتار کاربر در چندین سایت برای تبلیغات هدفمند تنظیم شود و این ها کانون بسیاری از بحث های مربوط به حریم خصوصی در اینترنت بوده اند که منجر به مسدود شدن آن ها توسط برخی مرورگرها و تنظیم قوانین حفاظت از داده ها شده است.
کوکی ایمن
یک کوکی ایمن (Secure Cookies) فقط می تواند از طریق یک اتصال رمزگذاری شده (به عنوان مثال HTTPS) منتقل شود. آن ها برای اطمینان از این که داده های موجود نمی توانند توسط دیگران در حین انتقال، رهگیری شوند، استفاده می شود که برای سایت هایی که اطلاعات حساس را مدیریت می کنند، بسیار مهم است.
کوکی HttpOnly
کوکی های HttpOnly توسط اسکریپت های سمت کاربر مانند جاوا اسکریپت قابل دسترسی نیستند و این محدودیت، انواع خاصی از حملات مانند برنامه نویسی متقابل سایت (XSS) را خنثی و امنیت را افزایش می دهد.
Zombie Cookies
این کوکی ها پس از حذف، به طور خودکار دوباره ایجاد می شوند و از فضای ذخیره سازی خارج از حافظه استاندارد در مرورگر مانند Flash Local Shared Objects (LSO) برای نگهداری داده ها در دستگاه کاربر استفاده می کنند. آن ها به دلیل نگرانی های مربوط به حریم خصوصی، بحث برانگیز در نظر گرفته می شوند و شناسایی و حذف آنها دشوار است.
سوپر کوکی ها
این کوکی های بسیار قوی تری هستند که در اعماق دستگاه کاربر کاشته می شوند مثلاً در یک فضای محافظت شده که کوکی های مرورگر وب معمولی، نمی توانند به آن دسترسی پیدا کنند، ذخیره می شوند. همچنین می توانند داده های کوکی مانند خود را در مرورگرها ذخیره کنند و حتی کوکی هایی را که ممکن است حذف شده باشند، بازسازی کنند. سوپر کوکی ها می توانند خطرات قابل توجهی را برای حفظ حریم خصوصی ایجاد کنند زیرا می توانند افراد را در مرورگرهای مختلف ردیابی کنند و آنها را در سراسر وب، تحت الشعاع قرار دهند.
درک انواع مختلف کوکی ها و نحوه عملکرد آن ها برای کاربران وب و توسعه دهندگان ضروری است و کاربران را در مورد نحوه استفاده از داده های آنها آگاه می کند و به توسعه دهندگان اجازه می دهد تا وب سایت های امن تر و کاربر پسندتری ایجاد کنند.
کوکی ها چگونه کار می کنند؟
از طریق الگوی درخواست-پاسخ بین مرورگر کاربر و سرور میزبان وب سایت، عمل می کند. فرآیند به طور کلی شامل مراحل زیر است:
هنگامی که از یک وب سایت بازدید می کنید، سرور سایت یک درخواست HTTP را به مرورگر وب شما ارسال می کند. اگر وب سایت قصد ایجاد یک Cookie را داشته باشد، پاسخ به مرورگر شما شامل Set-Cookie است. این هدر حاوی نام، مقدار و سایر ویژگی های کوکی مانند زمان انقضا، دامنه ای که کوکی برای آن معتبر است، مسیر، امنیت (مانند Secure و HttpOnly) و وضعیت SameSite است.
هنگامی که مرورگر شما هدر Set-Cookie را دریافت کرد، کوکی را در دستگاه شما ذخیره می کند. فضای اختصاص داده شده برای کوکی ها، معمولاً کوچک و بسته به مرورگر متفاوت است و محدودیتی را برای مقدار داده هایی که هر سایت می تواند ذخیره کند، اعمال می کند. هر بار که درخواست بعدی را به همان سرور ارسال می کنید برای مثال، کلیک کردن بر روی یک لینک، ارسال یک فرم یا حتی بارگذاری یک تصویر، مرورگر تمام کوکی های ذخیره شده را در قالب هدرها، همراه با درخواست به سرور باز می گرداند.
چرخه حیات کوکی
همانطور که توضیح داده شد، عمر کوکی زمانی شروع می شود که سرور یک هدر Set-Cookie ارسال می کند و مرورگر آن را ذخیره می کند و با توجه به نوع و ویژگی های آن، در مدت زمانی که مشخص شده باقی می ماند. داده های آن تا تاریخ انقضا در مرورگر باقی می مانند مگر اینکه زودتر توسط کاربر حذف شوند و در غیر اینصورت پس از انقضا، مرورگر آن را حذف می کند. در ضمن اگر قبل از منقضی شدن دوباره از سایتی بازدید کنید، سرور ممکن است تاریخ انقضای کوکی را به روز کند و اساساً آن را تمدید کند.
کوکی ها بخشی اساسی از بافت وب هستند و عملکردی را ارائه می دهند که تجربه آنلاین را روان تر و شخصی تر می کند و آنها ابزارهای ساده و در عین حال قدرتمندی هستند که می توانند به طور قابل توجهی بر عملکرد و تجربه کاربر، تأثیر بگذارند.
تفاوت حافظه پنهان و کوکی
کش یک فضای ذخیره سازی موقت در دستگاهی است که در آن داده ها برای دسترسی سریعتر ذخیره می شوند. هنگامی که از یک سایت بازدید می کنید، فایل های دانلود شده برای نمایش آن سایت (مانند فایل های HTML، تصاویر، اسکریپت ها) در حافظه پنهان ذخیره می شوند و هدف اصلی یک کش افزایش سرعت بارگذاری صفحات وب با ذخیره نسخه های فایل ها به صورت محلی است. با ذخیره این فایل ها، مرورگر می تواند بهجای دانلود مجدد، آن ها را به سرعت از حافظه پنهان بازیابی کند و بازدیدهای بعدی از همان سایت را بسیار سریع تر کند در حالی که کوکی ها برای ذخیره داده های خاص یک کاربر و وب سایت خاص استفاده می شوند. این می تواند شامل اطلاعات ورود به سیستم، تنظیمات برگزیده کاربر و سایر تنظیمات شخصی شده باشد.
حافظه پنهان و کوکی ها هر دو به دنبال افزایش رضایت کاربر در وب هستند اما در ظرفیت های متفاوتی کار می کنند. حافظه پنهان این کار را با بهبود سرعت و کارایی انجام می دهد، در حالی که کوکی ها مکانیزم مشخصی برای حفظ تنظیمات شخصی و ردیابی رفتار کاربر ارائه می دهند.