Ответ
HTTP cookies (куки) — это небольшие фрагменты данных (парные ключ=значение), которые сервер отправляет браузеру пользователя в HTTP-ответе. Браузер сохраняет их и автоматически отправляет обратно серверу с каждым последующим запросом к тому же домену.
Основные цели использования:
-
Управление сессией (Session Management): Самый частый случай. Кука с уникальным идентификатором сессии (
sessionid) позволяет серверу «узнавать» пользователя между запросами.# Ответ сервера (установка куки) HTTP/1.1 200 OK Set-Cookie: sessionId=abc123xyz; Path=/; HttpOnly; Secure # Последующий запрос браузера (отправка куки) GET /dashboard HTTP/1.1 Host: example.com Cookie: sessionId=abc123xyz - Персонализация (Personalization): Сохранение пользовательских предпочтений (тема, язык, регион).
- Трекинг (Tracking): Отслеживание поведения пользователя между сайтами (часто через сторонние куки) для аналитики и рекламы.
Важные атрибуты куки (директивы Set-Cookie):
Expires=<date>/Max-Age=<number>— определяют срок жизни. Без них кука считается сессионной и удаляется при закрытии браузера.DomainиPath— определяют, к каким URL кука будет отправляться.Secure— кука будет отправлена только по защищенному протоколу HTTPS.HttpOnly— запрещает доступ к куке через JavaScript (document.cookie), защищая от XSS-атак.SameSite— контролирует отправку кук с cross-site запросами, защищая от CSRF-атак. Значения:Strict,Lax,None.
Аспекты для тестирования:
- Корректность установки и удаления (логаут).
- Соблюдение политик безопасности (
HttpOnly,Secure,SameSite). - Влияние на функциональность при отключении кук в браузере.
- Хранение чувствительных данных (недопустимо — пароли, токены должны быть в
HttpOnlyкуках илиlocalStorage).