Ответ
-
LocalStorage – хранит данные без срока действия, доступен только в виде строк.
localStorage.setItem('key', 'value'); const value = localStorage.getItem('key');
-
SessionStorage – аналогичен LocalStorage, но данные очищаются при закрытии вкладки.
sessionStorage.setItem('key', 'value');
-
Cookies – небольшие текстовые данные (до 4KB), передаются на сервер с каждым запросом.
document.cookie = 'key=value; expires=Fri, 31 Dec 2024 23:59:59 GMT; path=/';
-
IndexedDB – NoSQL-хранилище для больших объемов структурированных данных.
const request = indexedDB.open('dbName', 1);
-
Cache API – используется для хранения ресурсов (например, для оффлайн-работы PWA).
caches.open('cache-v1').then(cache => cache.add('/asset.js'));
-
Web SQL (устарел) – SQL-база данных в браузере, не поддерживается в новых браузерах.
-
Service Worker Cache – часть Cache API, но управляется через Service Worker.
Выбор зависит от: объема данных, необходимости синхронизации с сервером и срока хранения.