Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: localstorage, indexeddb, sessionstorage, dom, cookies, browser

Какие есть хранилища в браузере и чем они отличаются?

Этот вопрос проверяет знание различных механизмов хранения данных в браузерах. Понимание различий между этими хранилищами важно для эффективного управления данными в веб-приложениях.

Короткий ответ

В браузере доступны несколько механизмов хранения данных: localStorage, sessionStorage, IndexedDB и Cookies. localStorage и sessionStorage предназначены для хранения ключ-значение пар, но localStorage сохраняет данные на неограниченное время, тогда как sessionStorage очищается при закрытии вкладки. IndexedDB — это более сложное хранилище для хранения значительных объемов структурированных данных, а Cookies используются для хранения небольших объемов данных и передачи их на сервер с каждым запросом.

Длинный ответ

В браузерах существуют несколько методов хранения данных, каждый из которых имеет свои особенности и применение:

 

localStorage:

- Хранит данные в формате ключ-значение и доступен для всех вкладок и окон того же происхождения (origin).

- Данные сохраняются даже после закрытия вкладки или браузера и доступны, пока пользователь не удалит их вручную или через код.

- Максимальный размер данных обычно составляет около 5-10 МБ.

localStorage.setItem('key', 'value'); 
const value = localStorage.getItem('key');

sessionStorage:

- Похож на localStorage, но данные хранятся только в пределах текущей сессии. Это означает, что данные доступны только в текущей вкладке и - будут удалены при ее закрытии.

- Размер данных также около 5-10 МБ.

sessionStorage.setItem('key', 'value'); 
const value = sessionStorage.getItem('key');

IndexedDB:

- Более сложное и мощное хранилище для хранения больших объемов структурированных данных. Поддерживает транзакции, индексы и запросы.

- Подходит для сложных веб-приложений, требующих хранения больших объемов данных.

- Работает асинхронно, что предотвращает блокировку интерфейса.

const request = indexedDB.open('myDatabase', 1); 
request.onsuccess = function(event) {
    const db = event.target.result;    // Дальнейшие операции с базой данных 
};

Cookies:

- Используются для хранения небольших объемов данных, которые могут быть отправлены на сервер с каждым HTTP-запросом. Обладают сроком действия, который можно задать.

- Чаще всего применяются для хранения информации о сеансе пользователя и аутентификации.

- Максимальный размер — около 4 КБ на cookie.

document.cookie = "key=value; expires=Fri, 31 Dec 9999 23:59:59 GMT";

Сравнение:

- localStorage и sessionStorage идеально подходят для простого хранения данных.

- IndexedDB необходим для работы с большими объемами структурированных данных.

- Cookies используются для передачи информации между клиентом и сервером, но имеют ограничения по размеру.

 

Понимание этих различных методов хранения данных поможет разработчикам эффективно управлять пользовательскими данными в веб-приложениях.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#localstorage

#indexeddb

#sessionstorage

#dom

#cookies

#browser

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию