Ответ
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-атак.