Indexed Database API ouIndexedDB est une proposition de standard duW3C pour unebase de données locale embarquée dans lenavigateur. Il s'agit d'une interface de programmation enJavaScript (API) fournie par les navigateurs web permettant de gérer une base de donnéesNoSQL d'objets.
Contrairement auStockage web local ou Web Storage (localStorage et sessionStorage), qui impose des limites fixes par site web, IndexedDB offre une capacité de stockage plus importante, avec des limites qui sont souvent très élevées, voire inexistantes selon le navigateur.
Cette base de données est organisée comme une collection d'objets insérés dans la base en utilisant une syntaxeJSON, de manière similaire à des basesNoSQL commeMongoDB ouCouchDB. Chaque objet est identifié par une clé générée au moment de l'insertion. Un système d'indexation permet ensuite d'optimiser l'accès aux objets.
IndexedDB est conçu afin de permettre de stocker une grande quantité de données et d'y accéder de manière rapide, grâce à l'indexation.
Étant donné qu’IndexedDB fonctionne à l’intérieur du sandbox de sécurité du navigateur, toutes les opérations doivent passer par plusieurs couches de sécurité, ce qui réduit ses performances[1].
Avec IndexedDB 2.0, la méthodegetAll() a été introduite, permettant d'améliorer les performances lors des lectures en masse.
Fin 2013, les navigateurs proposant le support d'IndexedDB sontInternet Explorer (depuis la version 10),Firefox (depuis la version 10),Chrome (depuis la version 23),Safari (depuis la version 7.1), Safari pouriOS (depuis iOS 8),Opera (depuis la version 15),Opera Mobile (depuis la version 16), Chrome pourAndroid (depuis la version 29), Firefox pour Android (depuis la version 24) etInternet Explorer Mobile (depuis la version 10).
| Côté serveur |
| ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Côté client |
| ||||||||
| Sujets | |||||||||