Назад к вопросам
Junior
73
questionbank
Как работают куки?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Куки – это небольшие фрагменты данных, которые сервер отправляет браузеру клиента и сохраняет на его устройстве. При последующих запросах к тому же серверу браузер отправляет эти куки обратно.
Процесс работы:
- Отправка сервером: При первом обращении клиента к веб-приложению, сервер может включить в HTTP-ответ заголовок
Set-Cookie. Этот заголовок содержит информацию о куках, которые браузер должен сохранить.// Пример заголовка Set-Cookie в HTTP-ответе Set-Cookie: sessionid=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT; Secure; HttpOnlysessionid=abc123: Имя и значение куки.Expires: Дата и время устаревания куки. Если отсутствует, куки будет сессионной (удаляется при закрытии браузера).Secure: Отправлять куки только по HTTPS.HttpOnly: Запрещает доступ к куки через JavaScript (повышает безопасность).
- Сохранение браузером: Браузер получает заголовок
Set-Cookieи сохраняет куки в локальном хранилище. Каждая куки связана с определенным доменом и, опционально, путем. - Отправка браузером: При последующих запросах к домену, для которого были сохранены куки, браузер автоматически включает их в HTTP-запрос в заголовке
Cookie.// Пример заголовка Cookie в HTTP-запросе Cookie: sessionid=abc123 - Обработка сервером: Сервер получает куки из заголовка
Cookieи использует их для идентификации клиента, сохранения состояния сессии, персонализации контента и других целей.
Основные атрибуты куков:
| Атрибут | Описание |
|---|---|
Expires |
Дата и время, когда куки перестанет быть действительной. |
Max-Age |
Максимальный срок жизни куки в секундах. Приоритетнее Expires. |
Domain |
Домен, для которого действительна куки. По умолчанию — текущий домен. |
Path |
Путь в пределах домена, для которого действительна куки. |
Secure |
Отправлять куки только через безопасное соединение (HTTPS). |
HttpOnly |
Запрещает доступ к куки через JavaScript. |
SameSite |
Управляет отправкой куки при межсайтовых запросах (CSRF-защита). |
Использование куков:
- Управление сессиями: Сохранение идентификатора сессии для поддержания состояния пользователя между запросами.
- Персонализация: Запоминание предпочтений пользователя, например, язык или тема оформления.
- Отслеживание: Анализ поведения пользователя на сайте (с согласия пользователя).
Ограничения:
- Ограниченный размер данных (обычно около 4 КБ на куки).
- Ограниченное количество куков на домен.
- Могут быть отключены или удалены пользователем.