PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Какие плюсы и минусы storage?

DOM и браузер

Плюсы браузерных хранилищ (localStorage/sessionStorage): простое клиентское хранение, работа офлайн, разгрузка сервера. Минусы: уязвимость к XSS, только строки, синхронность, лимиты объёма.

Плюсы

  • Простое хранение на клиенте — простой API (setItem/getItem).
  • Персистентность — localStorage переживает сессии (настройки, черновики).
  • Разгрузка сервера — данные на клиенте, не нужно каждый раз запрашивать.
  • Работа офлайн — доступ без сети.
  • Больше cookie (~5–10 МБ против 4 КБ).
  • Не шлётся на сервер — не грузит каждый запрос (в отличие от cookie).

Минусы

  • Уязвимость к XSS — доступен любому JS → токены хранить нельзя.
  • Только строки — объекты сериализовать через JSON.
  • Синхронный API — большие объёмы блокируют поток.
  • Лимиты — ~5–10 МБ (для больших данных — IndexedDB).
  • Нет реактивности — изменения не отслеживаются автоматически (кроме события storage между вкладками).
  • Не для сервера — на сервер не отправляется.

Как выбирать

  • Некритичные настройки/черновики → localStorage.
  • Временное на вкладку → sessionStorage.
  • Секреты → не storage (память/HttpOnly cookie).
  • Большие данные → IndexedDB.

Коротко для собеседования

Плюсы storage: простое клиентское хранение, персистентность (localStorage), офлайн, больше cookie (~5–10 МБ), не шлётся на сервер. Минусы: уязвимость к XSS (не для токенов), только строки (JSON), синхронный (блокирует на больших объёмах), лимиты, нет реактивности. Для настроек/черновиков — да, для секретов — нет, для больших данных — IndexedDB.

Другие вопросы раздела