در دنیای تکنولوژی و فن آوری اطلاعات استفاده از اینترنت امری اجتناب ناپذیر است. به طوری که امروزه ما برای یافتن پاسخ کوچک ترین سوال در ذهنمان، کسب درآمد، خرید از فروشگاههای آنلاین، ادامه تحصیل و راه اندازی کسب و کارهای اینترنتی ، از اینترنت استفاده میکنیم. به این ترتیب شما قطعا با مرورگرهای مختلف آشنا هستید، مرورگرهایی نظیر : اینترنت اکسپلورر، گوگل کروم، فایرفاکس، اپرا و….. در این مقاله ی حافظ پلتفرم بررسی میکنیم کوکی و کش سایت چیست؟ و چه تفاوتهایی دارند.
کوکی چیست (Cookies)
Cookies یا کوکی تیکه اطلاعات کوچکی هستند که کاربر با هر بار بازدید کردن از یک سایت، در کامپیوتر او ذخیره میشوند. هر بار که کاربر آن سایت را لود میکند، مرورگرش آن کوکیها را دوباره به سرور ارسال میکند تا سرور را از فعالیتهای قبلی کاربر اطلاع دهد. کوکیها طول عمر خاصی دارند که توسط کدهای آن سایت مشخص میشود، مثلاً در سایتهای وردپرس توسط زبان PHP در قالبها و پلاگینهای مختلف کوکیهای مختلفی بر روی مرورگر کاربر ذخیره میشود. در آخر یک کوکی منقضی خواهد شد و تاریخ مشخصی برای ماندن در مرورگر کاربر دارد، بنابراین کوکیها معمولاً برای ذخیرهسازی اطلاعات کوچک در یک دوره زمانی کوتاه مورداستفاده قرار میگیرد.
انواع کوکی
کوکیها دو نوع هستند که عبارتند از :
کوکی ماندگار : این نوع کوکیها دارای تاریخ انقضا هستند و تا زمان سر رسید تاریخ انقضای آن بر روی کامپیوتر بازدیدکننده باقی میماند. این نوع کوکی این امکان را فراهم میکند تا کاربران را حتی بعد از اینکه سایت شما را ترک کردند مجددا به سایتتان برگردانید.کوکی جلسه : این نوع کوکی در حافظه ذخیره میشود و هرگز بر روی دستگاه کامپیوتر محلی بازیدکننده ذخیره نمیشود و تا زمانی فعال است که کاربر در حال بازدید از سایت است.
کاربرد کوکی مرورگر
چند مثال از استفاده کوکی برای شما آوردیم تا بهتر با کاربرد و علت وجود کوکی آشنا شوید اغلب کوکیها برای ردگیری اطلاعات از کاربران است، مثلاً کاربران چه صفحاتی را بازدید میکنند یا از چه صفحهای وارد چه صفحه دیگری میشوند. یا مثلاً چه دکمهای را کلیک کردهاید و مواردی از این قبیل یکی از موارد پرکاربرد کوکی ثبت اقلام موجود در سبد خرید سایتهای فروشگاهی است. حتماً برای شما پیشآمده بدون ثبتنام در سایت فروشگاهی اقدام به انتخاب یک محصولی کرده باشید و آن محصول در سبد خرید شما اضافه میشود و شما درحالیکه در گشتوگذار در آن سایت هستید محصولات انتخابی شما در سبد خرید موجود است و این عمل را کوکی انجام میدهد و اگر بعد از یک ماه دوباره سر بزنید دیگر آن محصول را در سبد خود نخواهید دید چراکه کوکی تاریخ انقضا دارد.
نظرات که ما بدون ثبتنام در سایتی ارسال میکنیم و با عبارتهای مشابه “دیدگاه شما در انتظار تائید است” روبهرو میشویم از کوکی استفاده میکند، و ممکن است شما فردا دوباره به سایت سر بزنید و اگر آن دیدگاه را مشاهده کردید یعنی تاریخ انقضای کوکی مربوط به دیدگاهها هنوز منقضی نشده ولی اگر نباشد یا تاریخ کوکی منقضی شده یا توسط شما از مرورگر خود آن کوکی را پاککردهاید.
کاربرد کوکی مرورگر
کوکیها چیزی بیشتر از یک فایل متنی که روی کامپیوتر یا موبایل شما ذخیره میشوند نیستند. این فایل توسط مرورگر خوانده میشود و در آن اطلاعاتی دربارهی وبسایت مانند مشخصات ورود به سایت و تنظیمات سفارشیشدهی کاربر ذخیره میشود. در کوکیها همچنین اطلاعات دیگری که وبسایتها برای شناسایی کاربر و ارائهی خدمات بهتر به آن نیاز دارد، قرار میگیرد. کوکیهای HTTP یا کوکیهای اینترنتی، بهطور خاص برای مرورگرهای وب برای ردیابی، شخصیسازی و ذخیره اطلاعات مربوط به نشست (session) هر کاربر ساخته شدهاند. نشست فقط به زمانی که در یک سایت میگذرانید، اشاره دارد. کوکی ها برای شناسایی شما هنگام بازدید از یک وبسایت جدید ایجاد میشوند.اگر کوکیهای خود را پاک کنید، از همه وبسایتها خارج میشوید و وبسایتها تنظیماتی را که در آنها تغییر دادهاید، به خاطر نمیآورند. کوکی در مرورگر بسیار رایج است و احتمالاً شما در حال حاضر صدها کوکی در مرورگر خود ذخیره کردهاید.
کوکی چه مشکلاتی را ایجاد می کند
همانطور که در مقاله اشاره کردیم، کوکی بیشتر برای ذخیرهسازی اطلاعات کاربران است، نه فایلهای موجود در سند، درحالی که وقتی شما کوکی را فعال میکنید از آن پس تمام درخواستها به همراه کوکی ارسال میشود و فایلهای استاتیک یا ثابت هم همانند یوزنیم و پسورد دارای کوکیاند، حال مثلا عکسی که دارای کوکی باشد چه مشکلی را به وجود میاورد؟ عکس و یا هر فایل یا اطلاعاتی که دارای کوکی هستند هر بار که کاربر آن سایت را لود میکند، مرورگرش آن کوکیها را دوباره به سرور ارسال میکند تا سرور را از فعالیتهای قبلی کاربر اطلاع دهد و این امر باعث میشود حجم و تعداد درخواستها بین کاربر و سرور بالا رود و باعث کاهش سرعت سایت گردد مخصوصا سایت های وردپرسی که هر پلاگین یا قالب میتواند برای خود کوکی تنظیم کند، درحالی که نیازی وجود ندارد فایلهای ثابث همانند عکسها دارای کوکی باشند.
آیا کوکیها حریم شخصی کاربران را نقض میکنند؟
براساس آنچه در ابتدای مقاله خواندید، کوکیها توسط وبسایتی که از آن بازدید کردهاید ساخته میشود و تا وقتی که اطلاعات شخصی خود را دراختیارِ وبسایت مورد نظر قرار نداده باشید، کوکیها نمیتوانند به اطلاعات شخصی شما دسترسی داشته باشند.بیشتر کوکیها تنها برای تشخیص شما و حفظ زمان ورود شما به سایت استفاده میشود و رمز عبور شما در کوکی ذخیره نمیشود و تنها در آن نام کاربری یا ID اختصاصی که وبسایت آن را میشناسد در کوکیها ذخیره میشود. اگر هم وبسایتی رمز عبور شما را در فایل کوکی ذخیره کند پیش از ذخیره کردن آن، رمز عبور را رمزگذاری و هش (Hash) میکند تا کسی نتواند رمز عبور شما را متوجه شود. همچنین اطلاعات موجود در کوکیها تنها دراختیار خود وبسایت مورد نظر شما قرار میگیرد و قرار نیست وبسایتهای دیگر بتوانند از آنها استفاده کنند.
پس اساسا کوکیهای first-party حریم شخصی کاربران را نقض نمیکنند. از سال ۲۰۱۱ اتحادیه اروپا و امریکا قانونی وضع کردند که وبسایتهایی که به مردم این کشورها سرویس میدهند اگر کوکی روی کامپیوتر کاربر ذخیره میکنند که فعالیتهای کاربر را تحت نظر میگیرد، باید پیش از ذخیرهی آن از کاربر تأیید بگیرند. این موضوع بیشتر مربوط به کوکیهای third-party است که برای تبلیغات فعالیتهای کاربر را ردیابی میکنند.
کوکی ها و مسائل امنیتی
شاید شنیده باشید که از کوکی بهعنوان ویروس، بد افزار یا پاپآپ یاد میشود؛ اما آیا کوکی میتواند مضر باشد؟ کوکیها تنها یک فایل متنی ساده هستند، نه امکان اجرای آنها وجود دارد و نه حتماً میتوانند به دیگر اطلاعات ذخیره شدهی کاربر دسترسی داشته باشند اما بسیاری از کاربران تصور میکنند کوکی حاوی ویروس یا بد افزار جاسوسی است. دلیل این موضوع آن است که تبلیغات منفی براساس اطلاعات ناقص در این باره انجام شده است. شاید هم دلیل این موضوع این باشد که نرمافزارهای ضد ویروس در زمان اسکن فایلها، بعضی از کوکیها که برای تبلیغات مورد استفاده قرار میگیرند را کد جاسوسی میدانند و نسبت به حذف آنها اقدام میکنند.
اما این موضوع که از کوکیها میتوان برای پخش تبلیغات اسپم یا حتی تبلیغات پاپآپ استفاده کرد حقیقت دارد. تبلیغ کنندگان میتوانند از کوکیها برای ردیابی کردن آنکه چه پاپپاپی قبلا توسط کاربر مشاهده شده و چه تبلیغی برای وی پخش شود، استفاده کنند. اما کوکیها به تنهایی نه پخشکنندهی تبلیغ هستند و نه حاوی بدافزار یا پاپآپ هستند. از کوکیها برای ردیابی کاربر و پخش هدفمند تبلیغات استفاده میشود و در واقع حاوی هیچ تبلیغی نیستند.
کش چیست؟ (Cache)
یک کش وب (HTTP cache) فناوری است که از طریق درخواستهای HTTP یک سری اسناد وب را به شکل موقت در مرورگر کاربر ذخیره میکند، همانند عکسها و فایلهای CSS و JS که تغییرات زیادی روی آنها صورت نمیگیرد. هر بار که شما از وب سایتی بازدیدی انجام میدهید لازم است که یک سری فایلهایی را دانلود کنید تا سایت قابلمشاهده باشد، حال برخی فایلها مانند، CSS، JS، HTML و عکسها که ممکن است در کش مرورگر (یا کش محلی یا کش لوکال) ذخیره شوند. در این صورت وقتی به صفحهی دیگری از آن سایت مراجعه میکنید موارد تکراری صفحات مثل لوگو سایت فایلهای CSS و غیره دیگر دوباره دانلود نمیشوند بلکه از طریق کش محلی مرورگر فراخوانی صورت میگیرد.
پس بهاینترتیب لازم نیست با هر بار لود کردن صفحههای سایت، فایلهای مشترک بین صفحات را دانلود کنید. این همان دلیلی است که باعث میشود در اولین بازدید از یک سایت زمان بیشتری برای لود شدن لازم باشد تا زمان لود صفحات در تکرار بازدید از همان سایت.این عمل هم باعث صرفهجویی در حجم اینترنت بازدیدکننده میشود و هم باعث میشود مواردی نظیر تعداد درخواستها به سمت سرور، مصرف پهنای باند، لود سایت و تأخیر بهشدت کاهش یابد و صفحات سایت در دفعات بعدی سریعتر لود میشوند.
تفاوت بین کوکی و کش
هرچند کوکی و کش هر دو راهی برای ذخیرهسازی اطلاعات در مرورگر کاربر هستند اما آنها تفاوتهایی را باهم دارند چراکه دارای اهدافی متفاوت هستند.کوکی برای ذخیرهسازی یک سری اطلاعات در جهت ردیابی فعالیتهای کاربر استفاده میشود درحالیکه کش برای بهبود سرعت سایت مورداستفاده قرار میگیرد.کوکی اطلاعات مربوط به کاربران نظیر تنظیمات کاربری، پسورد، یوزرنیم و … است درحالیکه کش برای نگهداری منابع استاتیک (فایلهای ثابت) نظیر عکس، استایلهای CSS یا جاواسکریپت است.کوکی محدودیت ذخیرهسازی دارد و تا 4KB میتواند حجم داشته باشد درحالیکه کش چنین محدودیتهایی ندارد.کوکی و هم کش توسط کاربر میتواند پاک شود ولی معمولاً کوکیها عمر کوتاهتری دارند و زمان انقضاهای آنها سریعتر میرسد درحالیکه کشها به این شکل نیستند و در مرورگر کاربران وجود دارند مگر دستی توسط کاربر پاک شود.
وجه مشترک کوکی و کش
وجه مشترک کوکی و کش این است که هر دو برای ذخیرهسازی در مرورگر کاربر استفاده میشوند که بیشتر کوکی برای ذخیرهسازی اطلاعات کاربری کار دارد ولی کش بیشتر سمت ذخیرهسازی فایلهای موجود در سند یک سایت است. همچنین کوکی و کش هر دو از نوع درخواستهای HTTP به سمت مرورگر ارسال میشوند.