Ответ
Время жизни cookie определяется атрибутами Expires или Max-Age, которые задаются сервером при создании. Без этих атрибутов cookie считается сессионным и удаляется при закрытии браузера.
Типы cookie по времени хранения:
- Сессионные (Session Cookies): Не имеют атрибута
Expires/Max-Age. Удаляются после закрытия вкладки/браузера. - Постоянные (Persistent Cookies): Имеют установленный срок жизни. Хранятся на диске до наступления даты истечения (
Expires) или истечения интервала (Max-Age).
Пример установки cookie с разным временем жизни:
// Установка постоянного cookie с истечением через 7 дней (атрибут Expires)
document.cookie = "user_id=12345; expires=" + new Date(Date.now() + 7 * 864e5).toUTCString() + "; path=/";
// Установка постоянного cookie с временем жизни 1 час (атрибут Max-Age)
document.cookie = "session_token=abcde; max-age=3600; path=/; secure";
// Установка сессионного cookie (без срока истечения)
document.cookie = "preferred_lang=ru; path=/";
Почему это важно для тестирования:
- Проверка авторизации: Постоянные cookie позволяют оставаться в системе после перезапуска браузера.
- Тестирование безопасности: Убедитесь, что критичные cookie (например, токены) имеют разумный срок жизни и атрибуты
HttpOnlyиSecure. - Очистка данных: Понимание типов cookie необходимо для корректного тестирования сценариев "логаута" и очистки кеша.