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