Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: cookies, HTTP headers, Set-Cookie, Cookie, session management

Как передаются cookies в HTTP?

Этот вопрос проверяет понимание механизма передачи cookies между клиентом и сервером в HTTP-протоколе, что необходимо для реализации аутентификации, сессий и отслеживания состояния.

Короткий ответ

Cookies передаются в HTTP-запросах и ответах через специальные заголовки. Сервер отправляет cookie клиенту, используя заголовок ответа `Set-Cookie`. Браузер сохраняет эту cookie и автоматически включает её в последующие запросы к тому же домену с помощью заголовка `Cookie`. Это позволяет серверу идентифицировать пользователя и поддерживать состояние сессии без изменения URL.

Длинный ответ

Cookies — это небольшие фрагменты данных, которые сервер отправляет браузеру пользователя для хранения и последующей отправки обратно с каждым запросом к тому же домену. Они являются фундаментальным механизмом для поддержания состояния (state) в изначально "бесстатусном" протоколе HTTP.

Как сервер отправляет cookies клиенту

Сервер устанавливает cookie, добавляя в HTTP-ответ заголовок Set-Cookie. В этом заголовке указывается имя, значение и различные атрибуты cookie, такие как срок жизни (Expires или Max-Age), домен (Domain), путь (Path), флаги Secure и HttpOnly.

HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: sessionId=abc123; Expires=Wed, 21 Oct 2025 07:28:00 GMT; HttpOnly; Path=/
Set-Cookie: userPref=darkMode; Max-Age=3600; Secure

<!DOCTYPE html>
...

Как клиент отправляет cookies обратно

Браузер, получив заголовок Set-Cookie, сохраняет указанные пары "имя-значение". При каждом последующем запросе к домену, путь которого соответствует атрибуту Path cookie, браузер автоматически добавляет в запрос заголовок Cookie, содержащий все соответствующие cookies.

GET /dashboard HTTP/1.1
Host: example.com
Cookie: sessionId=abc123; userPref=darkMode
...

Ключевые атрибуты и их влияние

  • HttpOnly: Запрещает доступ к cookie через JavaScript (document.cookie), защищая от XSS-атак.
  • Secure: Cookie будет отправлена только по защищённому протоколу HTTPS.
  • SameSite: Контролирует, отправляется ли cookie при кросс-сайтовых запросах (значения: Strict, Lax, None).
  • Domain и Path: Определяют область видимости cookie — к каким доменам и путям на сервере она привязана.

Этот механизм широко применяется для управления пользовательскими сессиями (например, хранения идентификатора сессии), персонализации (темы, языковые настройки) и отслеживания аналитики.

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

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

  • Networks

Ключевые слова

#cookies

#HTTP headers

#Set-Cookie

#Cookie

#session management

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.