Ответ
HTTP Cookie (куки) — это небольшие фрагменты данных (до ~4 КБ), которые сервер отправляет браузеру пользователя в заголовке Set-Cookie. Браузер сохраняет их и автоматически отправляет обратно серверу с каждым последующим запросом в заголовке Cookie.
Основные сценарии использования:
- Управление сессией: Самый распространённый случай. Сервер создаёт уникальный идентификатор сессии (session ID) и отправляет его как куку. Это позволяет аутентифицировать пользователя без передачи логина и пароля в каждом запросе.
- Персонализация: Сохранение пользовательских предпочтений (язык интерфейса, тема оформления, регион).
- Отслеживание: Сбор аналитики о поведении пользователя на сайте (часто с использованием сторонних кук).
Пример установки защищённой куки для сессии:
HTTP/1.1 200 OK
Set-Cookie: sessionId=abc123def456; Path=/; Secure; HttpOnly; SameSite=Strict
Ключевые атрибуты для безопасности:
Secure— кука передаётся только по защищённому HTTPS-соединению.HttpOnly— запрещает доступ к куке через JavaScript (защита от XSS-атак).SameSite— контролирует отправку кук с межсайтовыми запросами (защита от CSRF-атак). Значения:Strict,Lax,None.
Ограничения: Браузеры могут блокировать или удалять сторонние куки (Third-Party Cookies) в целях приватности.