Браузер не позволяет просматривать файлы баз данных

Обновлено: 07.07.2024

Ситуации для хранения и обработки данных в браузере включают:

  • сохранение состояния клиентского приложения, такого как текущий экран, введенные данные, пользовательские настройки и т. д.
  • утилиты, которые обращаются к локальным данным или файлам и имеют строгие требования к конфиденциальности
  • прогрессивные веб-приложения (PWA), которые работают в автономном режиме

Вот десять вариантов хранения данных браузера:

В этой статье рассматриваются эти десять различных способов хранения данных в браузере, рассматриваются их ограничения, плюсы и минусы, а также наилучшее использование каждого метода. Прежде чем мы перейдем к вариантам, сделаем небольшое примечание о сохранении данных.

Сохранение данных

Как правило, данные, которые сохраняются, будут:

  • Постоянные (persistent): они остаются до тех пор, пока ваш код не решит удалить их, или
  • изменяемые (volatile) : они остаются до завершения сеанса браузера, обычно, когда пользователь закрывает вкладку

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

Браузеры также записывают состояние страницы. Вы можете уйти с сайта и кликнуть назад или закрыть и снова открыть вкладку; страница должна выглядеть идентично. Переменные и данные, доступные только для сеанса, по-прежнему доступны.

1. Переменные JavaScript

  • размер — нет строгих ограничений, но при заполнении памяти может произойти замедление работы браузера или сбои
  • скорость чтения / записи — самый быстрый вариант
  • сохранность — плохая: данные стираются при обновлении браузера

Сохранение состояния в переменных JavaScript — самый быстрый и простой вариант. Я уверен, что вам не нужен пример, но …

  • легко использовать
  • быстрота
  • нет необходимости в сериализации или десериализации
  • ненадежность: обновление или закрытие вкладки стирает все
  • сторонние скрипты могут исследовать или перезаписывать глобальные значения (window). Вы уже используете переменные. Вы можете рассмотреть возможность сохранения состояния переменной при выгрузке страницы .

2. Хранилище узлов DOM

  • размер — нет строгих ограничений, но не идеально для большого количества данных
  • скорость чтения / записи — Быстрый
  • сохранность — плохая: данные могут быть удалены другими скриптами или обновлением

Большинство элементов DOM на странице или в памяти могут хранить значения в именованных атрибутах. Безопаснее использовать имена атрибутов с префиксом data-:

  • атрибут никогда не будет иметь связанных функций HTML
  • Вы можете получить доступ к значениям с помощью свойства dataset или через методы .setAttribute() и .getAttribute().

Значения хранятся в виде строк, поэтому может потребоваться сериализация и десериализация. Например:

  • вы можете определять значения в JavaScript или HTML, например <main data-value1=»1″>
  • полезно для хранения состояния конкретного компонента
  • DOM работает быстро! (вопреки распространенному мнению)
  • ненадёжно: обновление или закрытие вкладки стирает значения
  • только строки: требуется сериализация и десериализация
  • большой DOM влияет на производительность
  • сторонние скрипты могут исследовать или перезаписывать значения

Хранилище узлов DOM работает медленнее, чем переменные. Используйте его экономно в ситуациях, когда удобно хранить состояние компонента в HTML.

3. Web хранилище (localStorage и sessionStorage)

  • размер — 5 МБ на домен
  • скорость чтения / записи — синхронная работа: может быть медленной
  • сохранность — данные остаются до тех пор, пока не будут удалены

Веб-хранилище предоставляет два похожих API для определения пар имя/значение. Используйте:

  • window.localStorage для хранения постоянных данных и
  • window.sessionStorage для сохранения данных только сеанса, пока вкладка браузера остается открытой

Храните или обновляйте именованные элементы с помощью .setItem():

Получайте их с помощью .getItem():

И удалите их с помощью .removeItem():

Другие свойства и методы включают:

  • .length: количество хранимых элементов
  • .key(N): имя N-го ключа
  • .clear(): удаление всех сохраненных элементов

Изменение любого значения вызывает событие хранения в других вкладках / окнах браузера, подключенных к тому же домену. Ваше приложение может ответить соответствующим образом:

  • простой API (пары имя / значение)
  • параметры сеанса и постоянного хранилища
  • хорошая поддержка браузера
  • Только строки: требуется сериализация и десериализация
  • неструктурированные данные без транзакций, индексации или поиска
  • синхронный доступ повлияет на производительность больших наборов данных

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

4. IndexedDB

  • размер — зависит от устройства. Не менее 1 ГБ, но может составлять до 60% оставшегося дискового пространства
  • скорость чтения / записи — быстрый
  • сохранность — данные остаются до тех пор, пока не будут удалены

IndexedDB предлагает низкоуровневый API, похожий на NoSQL, для хранения больших объемов данных. Хранилище можно индексировать, обновлять с помощью транзакций и выполнять поиск с помощью асинхронных методов.

IndexedDB API сложен и требует некоторого манипулирования событиями. Следующая функция открывает соединение с базой данных при передаче имени, номера версии и дополнительной функции обновления (вызываемой при изменении номера версии):

Следующий код подключается к базе данных myDB и инициализирует хранилище объектов todo (аналогично таблице SQL или MongoDB). Затем он определяет автоматически увеличивающийся ключ с именем id:

Как только соединение будет готово, вы можете с помощью .add добавить новые элементы данных в транзакцию:

И вы можете получить значения, например, первый элемент:

  • гибкое хранилище данных с самым большим пространством
  • надежные транзакции, возможности индексации и поиска
  • хорошая поддержка браузера
  • сложный обратный вызов и API на основе событий
  • IndexedDB — лучший вариант для надежного хранения больших объемов данных, но вам может понадобиться библиотека-оболочка, такая как idb , Dexie.js или JsStore .

5. Cache API

  • размер — зависит от устройства, но Safari ограничивает каждый домен до 50 МБ
  • скорость чтения / записи — быстрый
  • сохранность — данные остаются до очистки или через две недели в Safari

Аналогичная функция может получить элемент из кеша. В этом примере она возвращает основной текст ответа:

  • хранит любой сетевой ответ
  • может улучшить производительность веб-приложений
  • позволяет веб-приложению работать в автономном режиме
  • современный API
  • не практично для хранения состояния приложения
  • возможно менее полезно за пределами прогрессивных веб-приложений

Apple недоброжелательно относится к PWA и Cache API

Cache API — лучший вариант для хранения файлов и данных, полученных из сети. Вы, вероятно, могли бы использовать его для хранения состояния приложения, но он не предназначен для этой цели, и есть варианты получше.

5.5 AppCache

AppCache был предшественником Cache API . Это не то решение для хранения, которое вы ищете. Здесь ничего нет. Пожалуйста, двигайтесь дальше.

6. API доступа к файловой системе

  • размер — зависит от оставшегося места на диске
  • скорость чтения / записи — зависит от файловой системы
  • сохранность — данные остаются до тех пор, пока не будут удалены

API доступа к файловой системе позволяет браузеру читать, записывать, изменять и удалять файлы из локальной файловой системы. Браузеры работают в изолированной среде, поэтому пользователь должен предоставить разрешение на определенный файл или каталог. Чтобы веб-приложение могло читать или записывать данные, как настольное приложение, используют FileSystemHandle.

Следующая функция сохраняет объект Blob в локальный файл:

  • веб-приложения могут безопасно читать и записывать в локальную файловую систему
  • меньше необходимости загружать файлы или обрабатывать данные на сервере
  • отличная функция для прогрессивных веб-приложений
  • минимальная поддержка браузера (только Chrome)
  • API может измениться

Этот вариант хранения для меня очень интересен, но вам придется подождать пару лет, прежде чем он станет жизнеспособным для производственного использования.

7. API записей файлов и каталогов

  • размер — зависит от оставшегося места на диске
  • скорость чтения / записи — неизвестный
  • сохранность — данные остаются до тех пор, пока не будут удалены

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

  • нестандартные, несовместимость между реализациями и поведение могут измениться.

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

8. Файлы cookie

  • размер — 80 КБ на домен (20 файлов cookie размером до 4 КБ в каждом)
  • скорость чтения / записи — быстрый
  • сохранность — хорошая: данные остаются до тех пор, пока они не будут удалены или не истечет время их жизни

document.cookie устанавливает значения cookie в клиентском JavaScript. Вы должны определить строку с именем и значением, разделенными символом равенства (=). Например:

Значения не должны содержать запятых, точек с запятой или пробелов, поэтому может потребоваться encodeURIComponent():

К дополнительным настройкам файлов cookie можно добавить разделители через точку с запятой, в том числе:

Пример: установить файл cookie, срок действия которого истекает через 10 минут и доступен по любому пути в текущем домене:

document.cookie возвращает строку, содержащую каждую пару имени и значения, разделенную точкой с запятой. Например:

Функция ниже анализирует строку и преобразует ее в объект, содержащий пары имя-значение. Например:

  • надежный способ сохранить состояние между клиентом и сервером
  • ограничен доменом
  • автоматический контроль истечения срока действия с помощью max-age (секунд) или Expires (дата)
  • используется в текущем сеансе по умолчанию (установите дату истечения срока, чтобы данные сохранялись после обновления страницы и закрытия вкладки)

Избегайте файлов cookie, используйте их если нет реальной альтернативы.

9. window.name

  • размер — варьируется, но должно быть несколько мегабайт
  • скорость чтения / записи — быстрый
  • сохранность — данные сеанса остаются до закрытия вкладки

Свойство window.name устанавливает и получает имя контекста активного окна. Вы можете установить одно строковое значение, которое будет сохраняться между обновлениями браузера. Например:

Исследуйте значение, используя:

  • легко использовать
  • может использоваться только для данных сеанса
  • Только строки: требуется сериализация и десериализация
  • страницы в других доменах могут читать, изменять или удалять данные (никогда не используйте их для конфиденциальной информации)

Window.name не предназначен для хранения данных. Это хак, и есть варианты получше.

10. WebSQL

  • размер — 5 МБ на домен
  • скорость чтения / записи — медленная
  • сохранность — данные остаются до тех пор, пока не будут удалены

WebSQL был попыткой перенести в браузер хранилище баз данных, подобное SQL. Пример кода:

Chrome и некоторые версии Safari поддерживают эту технологию, но против нее выступили Mozilla и Microsoft в пользу IndexedDB.

  • разработан для надежного хранения и доступа к данным на стороне клиента
  • знакомый синтаксис SQL, часто используемый серверными разработчиками
  • ограниченная поддержка браузеров
  • несогласованный синтаксис SQL в браузерах
  • асинхронный, но медленный API на основе обратного вызова
  • плохая работа

Не используйте WebSQL! Он не был жизнеспособным вариантом с тех пор, как устарела его спецификация в 2010 году.

Тщательная проверка хранилища

API хранилища может исследовать пространство , доступное для веб-хранилища, IndexedDB, и Cache API. Все браузеры, кроме Safari и IE, поддерживают это API, которое предлагает метод .estimate() для вычисления значений quota (пространства, доступного для домена) и usage (пространства, уже используемого). Например:

Доступны еще два асинхронных метода:

  • .persist() : возвращает true если у сайта есть разрешение на хранение постоянных данных, и
  • .persisted() : возвращает true если сайт уже сохранил постоянные данные

Панель «Приложение» в инструментах разработчика браузера ( в Firefox называется « Хранилище» ) позволяет просматривать, изменять и очищать localStorage, sessionStorage, IndexedDB, WebSQL, файлы cookie и кеш хранилища.

Заключение

Ни одно из этих решений для хранения не является идеальным, и вам нужно будет внедрить несколько решений в сложное веб-приложение. Это означает изучение дополнительных API. Но иметь выбор — это хорошо — конечно, при условии, что вы можете подобрать подходящий вариант!

Вопрос 3

ISR имеет общий IP-адрес, выданный ISP. Каково назначение общего IP-адреса?

a. позволяет внутренним хостам обмениваться данными с другими хостами в Интернет

b. позволяет внутренним хостам обмениваться данными друг с другом в локальной сети

c. позволяет ISR обмениваться данными с локальными хостами в сети

Вопрос 4

Укажите, какое устройство относят к устройствам хранения информации:

Вопрос 5

Вопрос 6

Гиперссылки на web-странице могут обеспечить переход:

Вопрос 7

Вопрос 8

Вопрос 9

Вопрос 10

a. документ, в котором хранится вся информация по сети

b. документ специального формата, опубликованный в Internet

Вопрос 11

Вопрос 12

Вопрос 13

Вопрос 14

Вопрос 15

Какое утверждение является истинным в отношении адресов в частной сети?

a. они обеспечивают легкий доступ внешних пользователей к внутренним веб-серверам

b. они могут одновременно использоваться только одной компанией

c. они являются более защищенными, поскольку они видимы только для локальной сети

Вопрос 16

Какое сокращение связано с использованием телефонной связи через сеть «Интернет»?

Вопрос 17

Как называются программы, позволяющие просматривать Web- страницы:

Вопрос 18

Вопрос 19

Услуга по размещению и хранению файлов клиента на сервере организации, предоставляющей подобную услугу – это:

Вопрос 20

Вопрос 21

Вопрос 22

Для передачи в сети web-страниц используется протокол:

Вопрос 23

Компьютер, подключенный к сети «Internet», обязательно имеет:

Вопрос 24

a. часть адреса, определяющая адрес компьютера пользователя в сети

b. название программы, для осуществления связи между компьютерами

c. название устройства, осуществляющего связь между компьютерами

Вопрос 25

Вопрос 26

Вопрос 27

Укажите устройство для подключения компьютера к сети:

Вопрос 28

Какой протокол является базовым протоколом сети «Интернет»?

Вопрос 29

Данный способов подключения к сети «Интернет» обеспечивает наибольшие возможности для доступа к информационным ресурсам:

a. терминальное соединение по коммутируемому телефонному каналу

b. постоянное соединение по выделенному телефонному каналу

Вопрос 30

Какой уровень иерархической модели сети, как правило, содержит сетевой трафик между компьютером и принтером, находящимися в одной сети?

Практически каждый сайт в Интернете в той или иной степени отслеживает пользовательское поведение. Обычно для этого используются файлы куки — небольшие блоки данных, которые запоминают ваши предпочтения. Однако, некоторые веб-ресурсы идут еще дальше и не стесняются использовать рекламные трекеры, сторонние куки и механизмы снятия цифровых профилей.

Сторонние файлы cookie — это файлы cookie, которые вставляются другими компаниями, такими как Google, Facebook или рекламными компаниями. Они используются, чтобы следить за вами сразу при посещении разных сайтов, создавая уникальный профиль, который можно использовать для показа рекламы. Эти файлы cookie отслеживают даже местоположение вашего устройства.

Цифровые отпечатки — относительно новая угроза конфиденциальности в сети, позволяющая компаниям узнавать данные вашей активности. Это может быть версия браузера, тип, операционная система, часовой пояс, местоположение, плагины, шрифты и многое другое. Цифровые профили содержат так много данных, что их можно использовать для идентификации одного конкретного пользователя.

Что со всем этим делать? Можно пути по сложному пути и создать свой собственный блокировщик отслеживания на базе платы Raspberry Pi. Вы также можете установить браузерные расширения, такие как Decentraleyes, AdGuard Антибаннер, uBlock Origin или DuckDuckGo. Но первым делам следует выбрать браузер, в который уже встроены надежные функции защиты конфиденциальности.

Firefox


На протяжении многих лет Firefox зарекомендовал себя как альтернатива Google Chrome, ориентированная на конфиденциальность. И каждый год Mozilla улучшает данный аспект браузера. Обычно смена браузера бывает очень болезненной для пользователей, но Firefox может стать отличной отправной точкой.

Прежде всего, Firefox — это быстрый и многофункциональный браузер с собственной экосистемой надстроек, расширений и параметров персонализации. В Firefox есть специальная функция «Улучшенная защита от отслеживания», которая блокирует рекламные трекеры и трекеры социальных сетей, межсайтовые отслеживающие куки, сборщиков цифровых отпечатков. По умолчанию Firefox будет делать это только в приватных окнах. Перейдите в Настройки > Приватность и Защита и переключитесь в режим защиты Строгая, чтобы защита применялась во всех окнах браузера. Предусмотрен также отдельный режим Персональная, который позволяет детально настраивать блокировку.

Brave


Brave — это браузер со встроенными функциями конфиденциальности. По умолчанию, он блокирует средства отслеживания рекламы, межсайтовые куки-файлы и фингерпринтинг. В Brave поддерживается режим защиты «Агрессивный» для блокировки трекеров и рекламы и режим «Строгий» для блокировки сборщиков цифровых отпечатков. Brave построен на кодовой базе Chromium, а это значит, что вы сможете установить в браузер любимые расширения Chrome.

В целом, Brave — это очень быстрый и функциональный браузер. Разработчики используют много нестандартных подходов. Например, браузер пытается продвигать собственную криптовалюту, которая используется для оплаты веб-сайтов. На стартовой странице также отображается информация, посвященная криптовалюте. К счастью, никто вас не обязывает пользоваться этими функциями, вы их можете просто отключить.

Safari


Если вы используете Mac, iPhone или iPad, то Safari — хорошая отправная точка, когда речь идет о конфиденциальности в Интернете. У Apple есть собственный интеллектуальная система Intelligent Tracking Prevention, которая использует технологии машинного обучения для блокировки межсайтового отслеживания. Эта функция включена в браузере по умолчанию. Блокировка не будет строгой, потому что приоритет отдается функциональности веб-сайта, а не блокировке конфиденциальности. Safari не будет блокировать трекеры, если это нарушит работу сайта.

Safari также генерирует отчет о конфиденциальности, чтобы сообщить вам, сколько трекеров было заблокировано. Таким образом, функции конфиденциальности Safari не являются полностью безопасными и далеки от агрессивных.

Microsoft Edge


Вам нравится Google Chrome, но хотите браузер с большим уклоном в сторону конфиденциальности? Тогда Microsoft Edge — ваш выбор. Microsoft проделала большую работу для создания быстрого и безопасного браузера на основе Chromium.

Edge поставляется с функцией «Защита от отслеживания», которая имеет три уровня блокировки: Базовая, Уравновешенная и Строгая. В режиме «Строгая» блокируется большинство средств отслеживания со всех сайтов. В данном режиме рекламные объявления будут наименее персонализированными. Перейдите в Настройки > Конфиденциальность, поиск и службы > Защита от отслеживания и переключитесь в режим Строгая.

Microsoft продолжает разрабатывать и другие функции повышения уровня приватности в Edge. Новый режим Super Duper Security Mode позволяет отключить JIT-компиляцию JavaScript, которая может использоваться для извлечения данных с веб-страниц в режиме реального времени.

DuckDuckGo Privacy Browser


Если вам нужен приватный мобильный браузер для iPhone или Android, вам подойдет Privacy Browser от DuckDuckGo.

Это очень простой и быстрый браузер, который блокирует отслеживание ваших действий и заставляет сайты использовать зашифрованные соединения. Вы можете повысить уровень конфиденциальности, используя приватную поисковую систему DuckDuckGo.

Tor Browser


Хотите действительно анонимного серфинга и полной блокировки отслеживания? Тогда ваш выбор — Tor Browser. Это специализированный браузер, ориентированный на конфиденциальность, который направляет весь трафик через множество различных серверов по всему миру, поддерживаемых добровольцами. Это делает Tor Browser медленным браузером для повседневного использования, но у него есть огромный неоспоримый плюс: процесс маршрутизации и перенаправления очищает все рекламные трекеры, сторонние файлы cookie и даже предотвращает снятие цифровых отпечатков и отслеживание. Tor Browser доступен для Windows, macOS, Linux и Android.


От автора: знаете ли вы, какой вариант хранилища в браузере рассмотреть в 2021 году? Современные веб-браузеры предлагают несколько вариантов хранения веб-приложений. И каждый вариант хранения уникален и имеет свои свойства и применение.

Однако для выбора подходящего варианта для вашего случая использования требуется твердое понимание их свойств и ограничений. В этой статье я расскажу о пяти вариантах хранения в браузере и их состоянии, помогая вам найти наиболее подходящий вариант для вашего использования.

Введение в параметры и свойства хранилища

Если вы бегло ознакомитесь с Chrome DevTools, вы сможете найти типы хранилищ браузера, перечисленные ниже:


JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Давайте узнаем подробности о каждом варианте хранения и его уникальных свойствах.

Локальное хранилище

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

Чтобы установить значения в локальном хранилище в виде массивов, объектов и т.д., Необходимо преобразовать значения в строки с помощью JSON.stringify. При получении JSON.parse восстанавливает элемент обратно в JSON.

var sessionItem = JSON . parse ( localStorage . getItem ( 'session' ) ) ;

Варианты хранения данных в браузере в 2021 году

Локальное хранилище совместно используется всеми вкладками и окнами из одного источника.

Срок действия данных не истекает.

Поддержка событий хранилища.

Давайте подробнее рассмотрим события хранилища.

Предел хранилища составляет 5 Мб в ведущих браузерах (можно безопасно планировать этот предел).

Сессионное хранилище

Хранилище сеансов похоже на локальное хранилище, с той лишь разницей, что данные в хранилище сеанса хранятся до тех пор, пока вы не закроете вкладку браузера.

Таким образом, хранилище сеансов привязано к источнику приложения, а также к вкладке браузера.
Мне было любопытно узнать, как события хранилища работают с хранилищем сеансов. Даже при наличии событий хранилища изоляция вкладок браузера все еще существует.

Следовательно, в сессионном хранилище событие хранения доступно только в iFrames на одной вкладке. Кроме того, как в локальное хранилище, так и в хранилище сеансов, доступ является синхронным, и ваш код JavaScript будет ждать, пока он получит данные при доступе к этим хранилищам.

IndexedDB

IndexedDB ближе к обычной базе данных NoSQL по сравнению с рассмотренными нами хранилищами. Вы можете использовать IndexedDb, если имеете дело со сложными объектами JavaScript, которые трудно сериализовать.
IndexedDB также поддерживает транзакции и хорошо работает с веб-воркерами.

Например, Twitter использует IndexedDB с тремя таблицами для сохранения данных. Вы можете найти последние поисковые запросы в массиве для повышения удобства использования.

Варианты хранения данных в браузере в 2021 году

Может хранить любые данные типа JavaScript, такие как объект (большой двоичный объект, файл) или массив и т.д., В виде пар ключ-значение.


JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

API-интерфейсы IndexedDB асинхронны, поэтому по завершении запроса он возвращает обратный вызов.

Может хранить структурированные данные, такие как данные календаря.

Web SQL (устарело)

Недавно W3C объявил, что спецификации WebSQL устарели. В качестве альтернативы W3C предлагает использовать более эффективную indexedDB вместо использования веб-SQL.

В Web SQL есть три метода:

var db = openDatabase ( 'testDB' , '1.0' , 'Test DB' , 3 * 1024 * 1024 ) ; tr . executeSql ( 'CREATE TABLE IF NOT EXISTS TestTable (id unique, data)' ) ; tr . executeSql ( 'INSERT INTO TestTable (id, data) VALUES (1, "itemOne")' ) ; tr . executeSql ( 'INSERT INTO TestTable (id, data) VALUES (2, "itemTwo")' ) ;

Варианты хранения данных в браузере в 2021 году

В отличие от других вариантов хранения, вы можете использовать SQL-запросы для взаимодействия с базой данных.

Для любого, кто знаком с SQLite, кривая обучения минимальна или отсутствует.

Файлы cookie

Давайте посмотрим, как мы можем получить доступ к клиентскому cookie.

document . cookie = "username=Charuka Herath; expires=Thu, 31 Dec 2020 12:00:00 UTC; path=/" ; document . cookie = "username=; expires=Thu, 31 Dec 2019 12:00:00 UTC; path=/" ;

Однако важно отметить, что файлы cookie отправляются из браузера обратно на сервер для каждого запроса. Поэтому делайте их как можно меньше, чтобы снизить накладные расходы.

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

Файлы cookie сохраняются. Таким образом, данные можно сохранять в браузере до тех пор, пока они не будут очищены.

Может управлять персонализированным контентом и обслуживать его в соответствии с предпочтениями конкретного пользователя.

Поддерживает перекрестное происхождение с подстановочными знаками.

Заключение

Варианты хранения данных в браузере в 2021 году

Таблица сравнения типов хранилищ

С точки зрения безопасности эти варианты хранения не предназначены для хранения конфиденциальных данных. Но растет тенденция к хранению токенов аутентификации (токенов OpenID) в локальном хранилище, поддерживаемом популярными библиотеками JavaScript, которые открыты для интерпретации. Однако для Cookie есть исключение в хранении идентификатора сеанса, который специально разработан для его хранения.

При выборе вариантов хранения, если требуется только хранить простые пары ключ-значение, лучшим вариантом будет локальное хранилище. Если вы планируете немного улучшить безопасность вкладок браузера, вы можете использовать Session Storage. И помните об ограничениях хранилища, прежде чем выбирать эти два варианта.

И для любых расширенных требований к хранилищу вы можете использовать IndexedDB, который лучше всего подходит в качестве решения для базы данных. Кроме того, для фоновой обработки с веб-воркерами это идеальное решение, позволяющее управлять транзакциями.

Надеюсь, статья будет полезна для расширения кругозора по хранению данных в браузере. Спасибо за прочтение!

Автор: Charuka E Bandara

Редакция: Команда webformyself.


JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Читайте также: