Cookies
куки · сессии, авторизация, трекинг
Что это
Cookies (куки) — маленькие текстовые записи, которые сайт сохраняет в браузере пользователя. При каждом следующем запросе на этот сайт браузер автоматически отправляет эти куки обратно в заголовке Cookie:.
Зачем нужны
- Сессии и авторизация — сервер хранит session-id в куке, узнаёт пользователя между запросами
- Настройки — язык, тема, часовой пояс
- Трекинг — аналитика, реклама, ремаркетинг
- Корзина — до логина, чтобы не терять товары
Как ставятся
Сервер шлёт в ответе заголовок Set-Cookie:
Set-Cookie: session=abc123; Path=/; Secure; HttpOnly; SameSite=Lax; Max-Age=86400
Атрибуты
- Domain — для какого домена
- Path — для какого пути внутри сайта
- Expires / Max-Age — сколько живёт. Без них — «сессионная», умирает при закрытии браузера
- Secure — отправлять только по HTTPS
- HttpOnly — недоступна JavaScript'у (защита от XSS-кражи)
- SameSite —
Strict / Lax / None, контроль отправки куки в кросс-сайтовых запросах (защита от CSRF)
First-party vs third-party
- First-party — куки от сайта, который ты открыл (example.com)
- Third-party — куки от домена, встроенного в страницу (реклама, аналитика). Google Chrome планирует их убить, Safari и Firefox уже блокируют
GDPR / законы о куках
- В ЕС нужен явный consent banner перед постановкой куки, кроме strictly necessary
- В РФ — 152-ФЗ «О персональных данных», требования на согласие
Хранение и посмотр
- Chrome/Edge: DevTools → Application → Cookies
- Firefox: DevTools → Storage → Cookies
- Ограничение: 4 KB на куку, ~50-180 кук на домен