کاربرد کوکی در جاوا اسکریپت – از صفر تا صد
اینترنت جای غریبی است. اطلاعات مفید، تصاویر حیوانات بامزه و هر چیز دیگری که بخواهید در آن پیدا میشود. برخی اوقات ما میخواهیم با این موارد تعاملی داشته باشیم و لذا لازم میشود که در یک وبسایت حساب ایجاد کنیم. متأسفانه پروتکلی که وب بر مبنای آن ساخته شده یعنی HTTP ذاتاً «بیحالت» (stateless) است. شاید بپرسید منظور از بیحالت چیست؟ در HTTP هر دستور به صورت مستقل اجرا میشود و هیچ دانشی از دستورهای قبل از خود ندارد. از این رو برای ساخت وبسایتهای تعاملی که کاربران و اقدامات آنها را به خاطر بسپارند نیازمند رویکرد مجزایی هستیم. در این راستا و در این مقاله با کاربرد کوکی در جاوا اسکریپت آشنا خواهیم شد.
کوکی چیست؟
کوکی به اطلاعات کوچکی گفته میشود که از سوی یک وبسایت ارسال و در رایانه کاربران ذخیره میشوند. کوکیها میتوانند از سوی مرورگر کاربر خوانده شوند و نوعی از اطلاعات را در اختیار وبسایت قرار دهند، مثلاً به وبسایت بگویند که این کاربر چه کسی است.
کوکیها تنها میتوانند رشتههای متنی را ذخیره کنند. البته برای این مشکل راهحلهایی وجود دارد. چهار نوع وظیفه ابتدایی وجود دارد که هنگام سر و کار داشتن با کوکیها میتوان اجرا کرد.
- ایجاد کوکی
- خواندن کوکی
- بهروزرسانی کوکی
- حذف کوکی
این مجموعه رایج از چهار اقدام، عموماً به نام CRUD شناخته میشوند.
ایجاد کوکی در جاوا اسکریپت
همه کدهایی که در این مقاله میبینید را میتوانید در این ریپوی گیتهاب (+) به طور کامل مشاهده کنید.
خواندن کوکی در جاوا اسکریپت
بهروزرسانی کوکی در جاوا اسکریپت
حذف کوکی در جاوا اسکریپت
ممکن است متوجه شده باشید که وقتی تلاش میکنیم document.cookie را بخوانیم، یک رشته جدا شده با نقطهویرگول از کوکیها در اختیار ما قرار میگیرد. میتوانیم آن رشته را بگیریم و کوکیهای خاص را با افراز کردن رشته بر اساس نقطهویرگولها به دست آوریم.
بدین ترتیب یک آرایه از همه کوکیها به دست میآید. سپس میتوانیم روی این آرایه حلقه تعریف کنیم و کوکیهای خاصی که نیاز داریم را بیابیم.
ذخیرهسازی یک شیء به عنوان کوکی
علاوه بر خواندن و نوشتن رشته در کوکی، میتوانیم ساختمانهای داده پیچیدهتر مانند شیء را نیز به صورت کوکی ذخیره کنیم.
کوکیها در مورد حجم ذخیرهسازی با محدودیت مواجه هستند، از این رو نباید تلاش کنید یک API کامل را در کوکی فشرده بسازید.
اکنون که یک شیء را در کوکی ذخیره کردیم، باید آن را به عنوان یک شیء باز پس بگیریم. این کار به روش زیر قابل انجام است.
محدودیتهای کوکیها
- کوکیها بر اساس حجم دادهای که میتوانند نگهداری کنند محدود شدهاند.
- کوکیها از سوی کاربران به سهولت قابل خواندن هستند.
- کاربران زیرک میتوانند کوکیهایشان را با استفاده از اکستنشنهای مرورگر ویرایش بکنند.
سخن پایانی
استفاده از کوکی یک روش عالی برای ردگیری اطلاعات وبسایت محسوب میشود. میتوان از این اطلاعات برای ردگیری افرادی که در وبسایت لاگین میکنند استفاده کرد، گرچه این کار بدون نوعی رمزنگاری پیشنهاد نمیشود. همچنین با بهکارگیری کوکی میتوان رد اقدامات انجام یافته از سوی کاربر را پیگیری کرد و حتی تعداد مواردی که کاربر میتواند یک کار خاص را انجام دهد، محدود ساخت.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای JavaScript (جاوا اسکریپت)
- آموزش JavaScript ES6 (جاوا اسکریپت)
- مجموعه آموزشهای برنامهنویسی
- HSTS چیست و چگونه از HTTPS در برابر هکرها محافظت میکند؟
- ذخیره سازی سمت کلاینت در جاوا اسکریپت — راهنمای جاوا اسکریپت
==