کوکی یک تکه کوچک دیتا هست که به هنگام ملاقات یک وبسایت، توسط مرورگر برروی سیستم کاربر ذخیره میشود. هدف از ذخیره کردن این تکه کوچک دیتا این است که اطلاعات به صورت Stateful نگهداری و استفاده شوند تا استفاده از وبسایت برای کاربر سادهتر شود.
قبل از توضیح بیشتر لازم هست با مقداری مقدمات درمورد وب آشنا شویم.
پروتکل HTTP، یک پروتکل Stateless میباشد. یعنی State هر کانکشن در ارتباط HTTP نگهداری نمیشود. یعنی تو یه ارتباط HTTP، هر بار که درخواستی رو به سرور ارسال میکنید، انگار یک کاربر جدید (در اصل یک مرورگر جدید) درخواست را ارسال کرده است. خیلی ساده بخوایم بگیم، HTTP ذهن نداره و همه چی رو فراموش میکنه! این یعنی همون Stateless بودن! یعنی State را نگهداری نمیکند و هیچ وقت اطلاع ندارد که کاربری که الان در حال ارسال درخواست هست، آیا قبلا هم درخواستی ارسال کرده یا خیر.
یکی از مشکلاتی که ممکن است ایجاد شود اینست که اگر شما داخل یک فروشگاه اینترنتی برید و جنس اول رو به سبد کالا اضافه کنید، و بعد صفحه رو رفرش کنید، میبینید که سبد خالی هست! چرا؟ چون HTTP یادش نیست که شما کی هستید و قبلا چه درخواستی رو به سرور ارسال کردید. هر بار که شما صفحه رو رفرش میکنید، انگاری شخص جدیدی وارد سایت شده است! اما راه حل چیه؟ کوکی! کوکی دقیقا همون چیزی هست که به ما کمک میکنه تا اطلاعات رو بصورت Stateful انتقال بدیم.
کاربرد کوکی بطور کلی در دو مورد خلاصه میشه: •نگهداری اطلاعات بصورت Stateful •دنبال کردن فعالیتهای کاربر در یک سایت
که البته این دو هدف همپوشانی زیادی با یکدیگر دارند.
پس هدف کوکی این است که کاربر راحتتر با وبسایت کار کند. برای مثال، سبد خرید داشته باشد، مجبور نباشد هر بار نامکاربری و رمزعبور خود را تایپ کند و … . توجه داشته باشید که کوکی، یک مهفوم سمتِ کلاینت هست و این اطلاعات درون مرورگر ذخیره میشود.
بطور خلاصه، وقتی یک درخواست HTTP به سمت سرور ارسال میشود، سرور میتواند در پاسخ به آن درخواست، یک یا چند سربرگ (Header) از نوع Set-Cookie در پاسخی که میدهد، قرار دهد. از این به بعد کاربر میتواند با قرار دادن مقادیر قرمز رنگ به عنوان کوکی در درخواستهای بعدی، State ارتباط و دادهها را مشخص کند.
یعنی کاربر این مقادیر را در مرورگر دارد و از این به بعد میتواند درخواستهای خود را به همراه هِدِر کوکی مشخص کند:
در نهایت توجه داشته باشید که کوکی درون مرورگر ذخیره میشود. پس حتی اگر یک شخص مرورگر خود را عوض کند، کوکیها دیگر کوکیهای قبلی نخواهند بود.
باید توجه داشت که کوکی به تنهایی میتواند مشکلات امنیتی زیادی را به همراه داشته باشد. همچنین به نسبت Session، اطلاعات کمتری را میتوان از طریق آن ذخیره کرد. پس در یک مقایسه رو در رو بین مکانیزم استفاده از Session و کوکی، میتوان گفت که کوکی ضعیفتر از Session میباشد.
ترجنس | thregence.ir
آکادمی ترجنس | edu.thregence.ir
اینستاگرام | instagram.com/thregence
تلگرام | t.me/thregence
یوتوب | https://bit.ly/30mGowo
آپارات | aparat.com/thregence