WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

IndexedDBJavaScript интерфейс прикладного программирования (API) клиентского хранилища большого объема структурированных данных, в том числе файлы/blobs. Другими словами это NoSQL хранилище данные в формате JSON внутри браузера. Стандарт разработан W3C и внедрен в браузерах с 2011 года.[1]

История

Поддержка IndexedDB была добавлена ​​в Firefox версии 4,[2] Google Chrome версии 11,[3] и Internet Explorer версии 10.[4] Safari в конечном счете добавил поддержку в версии 8.[5]

База данных Web SQL была предшествующим API, разработанным Apple.[6] Но Mozilla выступила против его стандартизации, потому что не было предложено альтернатив движку SQLite.[7][8] Таким образом, он был объявлен устаревшим в пользу IndexedDB.

Основные принципы

В базе данных сайты IndexedDB могут постоянно хранить и читать данные клиентского хранилища. Каждый домен имеет свою собственную область хранения, доступ к данным, хранящимся в другом домене, не предоставляется в соответствии с принципом одинакового источника (англ. Same Origin Policy). Размер доступной памяти зависит от браузера, обычно существует фиксированный предел, который не может быть превышен, и мягкий предел, из которого пользователь должен сначала согласиться на хранение.[9] В принципе, хранилище является постоянным, но браузеры предлагают своим пользователям возможность удаления сохраненных данных.[10]

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

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

Реализации

Точная реализация базы данных не фиксирована, однако он представляет собой B-дерево. Все современные браузеры поддерживают стандарт, так как он постоянно развивается, не всегда в текущей версии. В браузерах Microsoft интерфейс реализован лишь частично.[10] Старых версиях браузеров API все еще частично снабжен префиксом разработчика.[11]

Альтернативы

Web Storage - гораздо более простая альтернатива хранения данных, но с меньшим числом возможностей предназначенная для небольшого объема данных.

Альтернативным стандартом, предоставляющим собой базу данных, к которой можно обращаться по средствам SQL запросов, был Web SQL. Однако этот стандарт был реализован только в нескольких браузерах, поэтому его разработка была прекращена в пользу IndexedDB.[12]

В старых браузерах IndexedDB можно моделировать с помощью полифилов (англ. Polyfill).[13]

См. также

Примечания

  1. IndexedDB API. W3.org.
  2. IndexedDB - MDC Doc Center (англ.). Developer.mozilla.org.
  3. Web Platform Status (англ.). Проект Chromium (21 May 2012).
  4. IndexedDB, MSDN, 2012-03-14, <http://msdn.microsoft.com/en-us/library/ie/hh673548(v=vs.85).aspx>
  5. What's New in macOS (англ.). Apple.
  6. Shankland, Stephen Consensus emerges for key Web app standard | Deep Tech - CNET News (англ.). News.cnet.com (12 March 2010).
  7. Well, I'm Back: Not Implementing Features Is Hard (англ.). Weblogs.mozillazine.org.
  8. Beyond HTML5: Database APIs and the Road to IndexedDB
  9. IndexedDB and Limits (англ.) (17 April 2015).
  10. 1 2 Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht (нем.) (19. September 2017). — Обзор поддержки браузерами.
  11. Can I use: IndexedDB (англ.).
  12. Web SQL Database (англ.).
  13. Using IndexedDB API today – the IndexedDB polyfills (англ.). Mozilla Hacks (31 July 2012).

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2025
WikiSort.ru - проект по пересортировке и дополнению контента Википедии