Что такое Local Storage в веб-браузере и для чего он используется?

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

Ответ

Local Storage — это механизм клиентского хранилища, предоставляемый Web Storage API. Он позволяет веб-приложениям сохранять данные в виде пар ключ-значение непосредственно в браузере пользователя.

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

  • Постоянство: Данные не имеют срока действия и сохраняются после закрытия браузера, перезагрузки ОС.
  • Объем: Ограничение ~5-10 МБ на домен (зависит от браузера).
  • Доступ: Данные доступны только для страниц с одного происхождения (origin) (протокол, домен, порт).
  • Формат данных: Хранит только строки. Для работы с объектами необходимо использовать JSON.stringify() и JSON.parse().
  • Отправка на сервер: Данные не отправляются автоматически с каждым HTTP-запросом (в отличие от cookies).

Основные методы:

// Запись данных
localStorage.setItem('userTheme', 'dark');
localStorage.setItem('userProfile', JSON.stringify({ name: 'Alice', id: 123 }));

// Чтение данных
const theme = localStorage.getItem('userTheme'); // 'dark'
const profile = JSON.parse(localStorage.getItem('userProfile')); // {name: 'Alice', id: 123}

// Удаление данных
localStorage.removeItem('userTheme');

// Полная очистка хранилища для текущего домена
localStorage.clear();

Типичные сценарии использования:

  • Сохранение непередаваемых токенов (например, refresh_token).
  • Кэширование данных приложения для офлайн-работы или ускорения загрузки.
  • Сохранение пользовательских настроек интерфейса (тема, язык, параметры отображения).

Важное предупреждение: Не следует хранить в Local Storage конфиденциальную информацию (пароли, персональные данные, платежные реквизиты), так как данные не шифруются и уязвимы для XSS-атак.