Sobes.tech
Junior

Как работят бисквитките?

sobes.tech AI

Отговор от AI

Бисквитките са малки фрагменти данни, които сървърът изпраща на браузъра на клиента и ги запазва на устройството му. При последващи заявки към същия сървър браузърът ги връща обратно.

Процес на работа:

  1. Изпращане от сървъра: При първото обръщение на клиента към уеб приложение, сървърът може да включи в HTTP отговора заглавие Set-Cookie. Това заглавие съдържа информация за бисквитките, които браузърът трябва да запази.
    // Пример за заглавие Set-Cookie в HTTP отговор
    Set-Cookie: sessionid=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT; Secure; HttpOnly
    
    • sessionid=abc123: Име и стойност на бисквитката.
    • Expires: Дата и време на изтичане на бисквитката. Ако липсва, бисквитката ще бъде сесийна (изтрива се при затваряне на браузъра).
    • Secure: Изпращане на бисквитките само по HTTPS.
    • HttpOnly: Забранява достъпа до бисквитките чрез JavaScript (повишава сигурността).
  2. Запазване от браузъра: Браузърът получава заглавието Set-Cookie и запазва бисквитките в локалното хранилище. Всяка бисквитка е свързана с определен домейн и, по желание, път.
  3. Изпращане от браузъра: При последващи заявки към домейна, за който са запазени бисквитките, браузърът автоматично ги включва в HTTP заявката в заглавието Cookie.
    // Пример за заглавие Cookie в HTTP заявка
    Cookie: sessionid=abc123
    
  4. Обработка от сървъра: Сървърът получава бисквитките от заглавието Cookie и ги използва за идентифициране на клиента, запазване на състоянието на сесията, персонализация на съдържанието и други цели.

Основни атрибути на бисквитките:

Атрибут Описание
Expires Дата и време, когато бисквитката ще престане да бъде валидна.
Max-Age Максимален срок на живота на бисквитката в секунди. По-важен от Expires.
Domain Домейн, за който е валидна бисквитката. По подразбиране — текущият домейн.
Path Път в рамките на домейна, за който е валидна бисквитката.
Secure Изпращане на бисквитките само чрез сигурна връзка (HTTPS).
HttpOnly Забранява достъпа до бисквитките чрез JavaScript.
SameSite Управлява изпращането на бисквитки при междусайтови заявки (защита срещу CSRF).

Използване на бисквитки:

  • Управление на сесии: Запазване на идентификатора на сесията за поддържане на състоянието на потребителя между заявките.
  • Персонализация: Запомняне на предпочитанията на потребителя, например език или тема.
  • Проследяване: Анализ на поведението на потребителя на сайта (с негово съгласие).

Ограничения:

  • Ограничен размер на данните (обикновено около 4 KB на бисквитка).
  • Ограничен брой бисквитки на домейн.
  • Могат да бъдат изключени или изтрити от потребителя.