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(); // Удаляет все записи