Ответ
Браузерная сессия — это механизм хранения данных на стороне клиента, доступный только в контексте текущей вкладки браузера. Данные сохраняются на протяжении сессии и удаляются при её завершении (закрытии вкладки или браузера).
Ключевые характеристики:
- Реализуется через 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 (домена). | |
| Типичное применение | Временные данные формы, токены для одной сессии. | Настройки пользователя, кэш приложения. |
При тестировании важно проверять корректность очистки данных при закрытии вкладки и изоляцию данных между разными вкладками.