Что такое браузерная сессия (sessionStorage) в веб-разработке?

«Что такое браузерная сессия (sessionStorage) в веб-разработке?» — вопрос из категории Веб-тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Браузерная сессия — это механизм хранения данных на стороне клиента, доступный только в контексте текущей вкладки браузера. Данные сохраняются на протяжении сессии и удаляются при её завершении (закрытии вкладки или браузера).

Ключевые характеристики:

  • Реализуется через Web Storage API (sessionStorage).
  • Область видимости ограничена одной вкладкой/окном.
  • Данные не имеют явного срока действия, но очищаются автоматически.
  • Хранит данные в формате ключ-значение, только в виде строк.

Пример использования JavaScript:

// Запись данных в сессию
sessionStorage.setItem('authToken', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9');
sessionStorage.setItem('tempFormData', JSON.stringify({name: 'John', step: 2}));

// Чтение данных
const token = sessionStorage.getItem('authToken');
const formData = JSON.parse(sessionStorage.getItem('tempFormData') || '{}');
console.log(token); // 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9'
console.log(formData.step); // 2

// Удаление данных
sessionStorage.removeItem('tempFormData');
// Очистка всей сессии
sessionStorage.clear();
Отличие от localStorage: Критерий sessionStorage localStorage
Время жизни Данные живут в рамках вкладки/сессии. Данные сохраняются до явного удаления.
Область видимости Только одна вкладка. Делится между всеми вкладками одного origin (домена).
Типичное применение Временные данные формы, токены для одной сессии. Настройки пользователя, кэш приложения.

При тестировании важно проверять корректность очистки данных при закрытии вкладки и изоляцию данных между разными вкладками.