К списку
Web-тестирование и DevToolsMiddleТехническое

Как именно данные сохраняются в Session Storage браузера

Краткий ответ

Session Storage хранит данные в формате пар «ключ-значение», где оба элемента представлены строками. Это временное хранилище, доступное только в рамках текущей сессии браузера.

Развёрнуто

Краткий ответ

Session Storage сохраняет данные как пары «ключ-значение», где и ключ, и значение — строки. Эти данные существуют только на время текущей сессии браузера и удаляются при закрытии вкладки.


Как это работает

Session Storage — это объект веб-хранилища, доступный через JavaScript API window.sessionStorage. Все данные сохраняются в формате строк, что означает, что любые нестроковые значения нужно преобразовывать в строку перед сохранением (например, с помощью JSON.stringify). Данные доступны только в рамках одной вкладки или окна браузера и исчезают при её закрытии, в отличие от Local Storage, который сохраняет данные между сессиями.

Хранилище Время хранения Формат данных Область действия
Session Storage До закрытия вкладки Пары строк «ключ-значение» Одна вкладка/окно
Local Storage Постоянно, без удаления Пары строк «ключ-значение» Все вкладки домена

Пример

// Сохранение значения в Session Storage
sessionStorage.setItem('userId', '12345');

// Получение значения из Session Storage
const userId = sessionStorage.getItem('userId');
console.log(userId); // '12345'

// Удаление значения
sessionStorage.removeItem('userId');

// Очистка всего Session Storage
sessionStorage.clear();

В этом примере ключ и значение — строки, что соответствует требованиям Session Storage.

Что важно знать на собеседовании

  • Session Storage хранит данные в виде строковых пар «ключ-значение».
  • Данные доступны только в течение одной сессии (вкладки/окна браузера).
  • При закрытии вкладки данные Session Storage удаляются автоматически.
  • Для хранения сложных объектов необходимо использовать сериализацию (например, JSON).
  • Session Storage отличается от Local Storage по времени хранения и области видимости.

Тема: Web-тестирование и DevTools | Уровень: middle