کوکی در وب سایت ها، جهت ذخیره سازی اطلاعات خاصی از بازدیدکننده ها به کار میرود تا در هنگام مراجعه بعدی این بازدید کننده، این اطلاعات قابل بازیابی و استفاده باشد. عموماً این اطلاعات جهت نگهداری و اعمال تنظیماتی خاص نظیر رنگ آمیزی و پوسته سایتها یا برخی شخصی سازی های دیگر بکار می روند.
کوکی ها چگونه کار می کنند؟
کوکی ها شامل اطلاعاتی کم حجم و متنی می باشند که بین Web Server و Browser انتقال می یابند. وقتی که صفحه ای از سایت توسط یک مرورگر فراخوانی میشود، کوکی ها در هارد دیسک سیستم درخواست کننده ذخیره می شوند و در موارد بعدی که درخواستی توسط همین سیستم به Web Server ارسال گردد، اطلاعات ذخیره شده در کوکی مربوط با آن سایت، قابل بازیابی و استفاده می باشد.
برای روشنتر شدن موضوع و نحوه کار کوکی، مثالهای زیر نمونه های بارز استفاده از این ویژگی را تشریح می کنند.
- میتوان کوکی ها را با یک مقدار Boolean شامل Yes و No بر روی سیستم بازدید کننده ذخیره نمود و به این ترتیب به هنگام ارسال درخواست بعدی به وب سرور، اطلاعات کوکی نیز ارسال می گردد و در صورتی که قبلا این وب سایت توسط سیستم درخواست کننده مشاهده شده باشد، Web Server اطلاع خواهد یافت. این مثال به صورت بارز در جستجوهای گوگل قابل مشاهده است. بدین صورت که پس از انجام یک جستجو و باز کردن صفحات بازگردانده شده توسط گوگل به عنوان نتیجه جستجو، در صورتی که در دفعات بعدی نیز نتایج مشابهی حاصل شود، لینکهای مشاهده شده با رنگی متمایز نشان داده می شوند که مشخص می کند این لینک مورد بررسی قرار گرفته است.
- فرض کنید وب سایتی برای انجام یک نظر سنجی، بخشی را راه اندازی نموده است. در صورتی که کاربر اقدام به ثبت رای در نظر سنجی نماید، کوکی مربوطه فعال میگردد و در صورت مراجعه بعدی، کاربر قادر به ثبت رای دیگری نخواهد بود. در این صورت صحت این نظر سنجی به حداکثر خواهد رسید.
حداکثر سایز پشتیبانی شده برای کوکی ها در اغلب مرورگرهای ارائه شده، 4KB می باشد و در مجموع برای هر سایت، امکان ذخیره سازی 20 کوکی وجود دارد. البته برخی از مرورگرها تعداد کوکی های قابل ذخیره را نیز محدود نمودند و به طور معمول در آنها، مجموعاً قابلیت ذخیره سازی 300 کوکی برای کلیه سایتهای بازدید شده، وجود دارد. در صورتی که تعداد کوکی ها از حد مجاز تعیین شده برای این مرورگرها بیشتر شود، به صورت خودکار، کوکی های ذخیره شده قبلی از انتها Overwrite خواهند شد و مقادیر قدیمی با کوکی های جدید جایگزین خواهند شد. کوکی ها به دلیل کم حجم بودن، بهترین راه برای ذخیره سازی اطلاعات کوچکی نظیر تاریخ و یا کد شناسایی افراد می باشند. به طور مثال کد شناسایی فرد بازدیدکننده به وسیله Cookie در سیستم لوکال درخواست کننده ذخیره می شود و در موارد ارجاع بعدی، مابقی مشخصات فرد نظیر نام، آدرس، شماره تماس و ... که قبلا در بانک اطلاعاتی سرور وب ذخیره گردیده اند، به وسیله این کد قابل شناسایی و فراخوانی میباشند.
موردی که ممکن است در کدنویسی برای کوکی ها برای یک برنامه نویس رخ دهد که جزو قابلیت های مرورگرهای وب نیز به حساب می آید، این است که کاربر می تواند مرورگر خود را به نحوی تنظیم نماید که از ذخیره سازی کوکی ها در سیستم لوکال پشتیبانی نکند. در برخی از مرورگر ها نیز تنظیمات پیش فرض خود مرورگر مبنی بر عدم پشتیبانی از Cookie می باشد.
به همین دلیل نباید از Cookie ها برای ذخیره سازی اطلاعات مهم نظیر نام کاربری و کلمه عبور استفاده نمود و یا در صورت استفاده باید مطمئن بود که مرورگر Client درخواست کننده از Cookie پشتیبانی می نماید. موردی که می بایست حتما در ذخیره سازی اطلاعات هویتی در کوکی ها مد نظر داشت این است که برخی از کوکی ها به صورت متنی (Plain Text) ذخیره می گردند و این امر باعث می شود که از این مسیر، امنیت سایت و این اطلاعات هویتی و اعتبار سنجی با مخاطره مواجه گردد. پس بهتر است که در این مورد از کوکی استفاده نشود و یا در صورت اجبار در استفاده، حتما اطلاعات به صورت کد شده (HASH) در آن کوکی ها ذخیره گردد. لازم به ذکر است در صورت تعریف Privacy Policyمربوط به این موضوع در وب سایت ها، اکثر مرورگرها از کوکی پشتیبانی خواهند کرد.
کوکی ها دارای تاریخ اعتبار (Expiration Date) می باشند و در صورتی که به هنگام ایجاد Cookie مورد Expiration Date تعیین نگردد، به محض بسته شدن مرورگر Cookie ایجاد شده نیز حذف خواهد شد. به این نوع کوکی ها در اصطلاح Non-Persistent یا غیر مداوم گفته می شود.