К списку
Web-тестирование и DevToolsMiddleТехническое

Как определяется срок действия cookie в браузере

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

Срок жизни cookie контролируется параметрами Expires или Max-Age. Expires задаёт точную дату истечения, а Max-Age — время в секундах с момента создания. Без этих параметров cookie действует только в текущей сессии браузера.

Развёрнуто

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

Срок действия cookie определяется параметрами Expires или Max-Age. Если они отсутствуют, cookie считается сессионным и удаляется при закрытии браузера.


Как это работает

При создании cookie в HTTP-заголовке или через JavaScript можно указать параметры Expires и Max-Age, которые устанавливают время жизни cookie:

  • Expires указывает точную дату и время, когда cookie становится недействительным (формат: дата в GMT).
  • Max-Age задаёт время в секундах от момента установки cookie до его истечения.

Если ни один из этих параметров не указан, cookie считается сессионным и автоматически удаляется после закрытия браузера.

Параметр Описание Формат
Expires Конкретная дата и время окончания действия Дата в формате GMT
Max-Age Время жизни cookie в секундах с момента установки Целое число (секунды)

Пример

Set-Cookie: sessionId=abc123; Expires=Wed, 09 Jun 2024 10:18:14 GMT; Path=/
Set-Cookie: token=xyz789; Max-Age=3600; Path=/
Set-Cookie: temp=data; Path=/

В этом примере:

  • sessionId будет храниться до указанной даты и времени.
  • token истечёт через 3600 секунд (1 час) после установки.
  • temp — сессионный cookie, который удалится при закрытии браузера.

Что важно знать на собеседовании

  • Cookie без параметров Expires и Max-Age считаются сессионными.
  • Max-Age имеет приоритет над Expires, если указаны оба.
  • Время в Expires указывается в формате GMT.
  • Некоторые браузеры могут ограничивать максимальный срок жизни cookie (обычно 1-2 года).
  • Понимание срока действия cookie важно для тестирования авторизации и сохранения состояния пользователя.

Тема: Web-тестирование и DevTools | Уровень: middle