È opportuno che non siano solo i server a memorizzare i dati dei client, ma che anche i client conservino dati specifici di un sito web. In questo modo la navigazione è più rapida, in quanto ogni volta che si visita un sito web non devono essere ricaricati tutti i dati. Così, le applicazioni web possono essere utilizzate anche offline. Anche gli input dell’utente si possono memorizzare lato client. Tra questi ci si riferisce soprattutto ai cookies. Tuttavia, essi hanno uno spazio e una capacità di informazione molto limitata, troppo piccola per le applicazioni web moderne. Inoltre i cookies devono essere inviati in rete ad ogni richiesta HTTP.
Una prima soluzione è stata offerta dal Web Storage, noto anche come DOM Storage. Questo sistema si basa ancora fortemente sull’idea di cookie, ma estende la dimensione da pochi kilobyte a 10 MB. Si tratta comunque di una dimensione ridotta. Inoltre, questi file, chiamati spesso supercookies, hanno una struttura molto semplice: è inutile provare a ricercare le proprietà di un database moderno. Tuttavia, la dimensione ridotta di cookies e supercookies non è l’unico motivo per il quale questi non rappresentano la soluzione giusta; entrambi i formati, infatti, non consentono un’organizzazione strutturata dei dati, né la creazione di indici, aspetti che ostacolano la ricerca.
Lo sviluppo di Web SQL ha introdotto in un certo un senso un cambiamento di direzione: una memoria lato client basata su SQL. Ma il World Wide Web Consortium (W3C), un'organizzazione per lo sviluppo di standard web, fermò il lavoro a favore di IndexedDB. Sotto la guida di Mozilla, è stato sviluppato uno standard che attualmente è supportato dalla maggior parte dei browser moderni.
Browser che supportano IndexedDB
Chrome | Firefox | Opera | Opera mini | Safari | IE | Edge |
✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ |