Ответ
Сессия sessionStorage в веб-браузере завершается при следующих условиях:
- Закрытие вкладки браузера — данные удаляются для конкретной вкладки.
- Закрытие окна браузера — если не активирована функция восстановления сессии.
- Явный вызов JavaScript-методов:
sessionStorage.clear()— удаляет все данные сессии.sessionStorage.removeItem('key')— удаляет значение по конкретному ключу.
Ключевые отличия от localStorage:
sessionStorageпривязан к вкладке/окну, аlocalStorage— к источнику (origin) и сохраняется между сессиями.- Данные
sessionStorageне отправляются на сервер автоматически с каждым HTTP-запросом (в отличие от cookies).
Пример работы:
// Сохранение данных на время сессии вкладки
sessionStorage.setItem('authToken', 'abc123xyz');
sessionStorage.setItem('userPreferences', JSON.stringify({ theme: 'dark' }));
// Получение данных
const token = sessionStorage.getItem('authToken');
const prefs = JSON.parse(sessionStorage.getItem('userPreferences'));
// Удаление данных
sessionStorage.removeItem('authToken');
// Или полная очистка
sessionStorage.clear();
Важно: Время жизни не зависит от таймаута, только от состояния вкладки/окна.