PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Для чего нужны Cookies?

DOM и браузер

Cookies нужны, чтобы хранить небольшие данные на клиенте и автоматически отправлять их на сервер с каждым запросом — прежде всего для сессий, аутентификации и персонализации.

Основные задачи

  • Управление сессией — идентификатор сессии или токен, по которому сервер узнаёт пользователя между запросами (HTTP сам по себе stateless).
  • Аутентификация — хранение токена авторизации (лучше в HttpOnly-cookie).
  • Персонализация — язык, тема, настройки.
  • Трекинг и аналитика — идентификаторы для отслеживания поведения.

Почему именно cookie

В отличие от localStorage, cookie автоматически отправляется на сервер с каждым запросом к домену — идеально для того, чтобы сервер узнавал клиента.

// HttpOnly ставит только сервер: Set-Cookie: sessionId=abc; Max-Age=3600; Secure; HttpOnly; SameSite=Lax
document.cookie = 'theme=dark; max-age=3600; secure; samesite=lax';

Атрибуты безопасности

  • HttpOnly — недоступна из JS (защита от XSS-кражи).
  • Secure — только по HTTPS.
  • SameSite — защита от CSRF.

Ограничения

  • ~4 КБ на cookie.
  • Отправляются с каждым запросом — не хранить много данных (влияет на трафик).

Коротко для собеседования

Cookies нужны для хранения небольших данных на клиенте, автоматически отправляемых на сервер: управление сессией, аутентификация, персонализация, трекинг. В отличие от localStorage, cookies сами уходят на сервер. Защита: HttpOnly, Secure, SameSite.

Другие вопросы раздела