Sobes.tech
Junior
113
questionbank

Объясни разницу между cookies, sessionStorage и localStorage.

Ответ от нейросети

sobes.tech AI

localStorage и sessionStorage — это веб-хранилища, доступные через DOM, тогда как cookies — это небольшие текстовые файлы, отправляемые с HTTP-запросами.

Основные различия:

Свойство cookies localStorage sessionStorage
Размер хранилища До 4 КБ До 5-10 МБ (зависит от браузера) До 5-10 МБ (зависит от браузера)
Отправка на сервер С каждым HTTP-запросом Нет Нет
Срок жизни Устанавливается вручную (может быть бессрочным) Сохраняется до очистки кэша браузера Сохраняется до закрытия вкладки/браузера
Доступ Клиент и сервер Только клиент Только клиент

Использование:

  • cookies: Хранение информации о сессии (идентификатор), персонализированных настроек пользователя, содержимого корзины в интернет-магазинах (до закрытия браузера).
  • localStorage: Длительное хранение пользовательских настроек (тема, язык), состояния интерфейса, кэширование данных на клиенте.
  • sessionStorage: Хранение информации, специфичной для текущей сессии, например, данные формы или временные настройки.

Примеры API:

// cookies (через document.cookie)
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/";
const cookies = document.cookie;

// localStorage
localStorage.setItem("name", "Alice");
const name = localStorage.getItem("name");
localStorage.removeItem("name");
localStorage.clear(); // Удаляет все записи

// sessionStorage
sessionStorage.setItem("lastVisit", new Date().toISOString());
const lastVisit = sessionStorage.getItem("lastVisit");
sessionStorage.removeItem("lastVisit");
sessionStorage.clear(); // Удаляет все записи