Cos'è IndexedDB e quando lo usano i siti web?

IndexedDB è un sistema avanzato di archiviazione del browser per dati grandi e strutturati. Scopri cos'è, come funziona e quando serve rispetto ad altri tipi.

Bozza

IndexedDB è il sistema di archiviazione integrato nel browser per dati grandi e strutturati. Scopri cos'è, come funziona e quando i siti lo usano al posto di local storage o session storage.

Hai mai usato una web app che continuava a funzionare anche quando cadeva la connessione a internet? O una che sembrava veloce come un'app nativa installata sul telefono, con grandi quantità di dati caricate all'istante? Dietro queste esperienze c'è di solito qualcosa di molto più potente dei semplici strumenti di archiviazione del browser di cui abbiamo parlato finora. Quel qualcosa è IndexedDB.

IndexedDB è il tipo di archiviazione del browser più potente disponibile e si colloca a un livello superiore rispetto a ciò che local storage e session storage sono stati pensati per gestire. La maggior parte di chi ha un sito aziendale non ci interagirà mai direttamente, ma capirlo ti dà un quadro completo di ciò che i browser sono in grado di salvare.

Cos'è IndexedDB?

IndexedDB è un database di basso livello integrato nel browser. A differenza di local storage e session storage, che salvano semplici coppie chiave-valore di testo, IndexedDB può salvare dati strutturati: oggetti, array, file e dati binari. È ricercabile, indicizzabile e in grado di contenere molti più dati degli altri tipi di archiviazione del browser.

Il nome ti dà un indizio su come funziona. Usa degli indici, che sono come tabelle di ricerca, per trovare rapidamente i record salvati senza dover cercare in tutto. Questo lo rende pratico per salvare e recuperare grandi quantità di informazioni strutturate dentro il browser stesso.

In cosa IndexedDB è diverso dalle altre archiviazioni del browser?

Local storage salva piccoli valori di testo e li conserva a tempo indeterminato. Session storage fa lo stesso, ma solo per la sessione della scheda corrente. Entrambi sono semplici e limitati. IndexedDB è fondamentalmente diverso per portata e capacità.

La capacità di archiviazione è una delle differenze principali. Mentre il local storage ha di solito un limite da 5 a 10 megabyte, IndexedDB può salvare centinaia di megabyte o più, a seconda del browser e del dispositivo. Salva direttamente anche strutture di dati complesse, non solo testo semplice. E supporta le query, cioè il sito può cercare e filtrare i record salvati invece di recuperare un valore solo tramite la sua chiave esatta.

A cosa serve IndexedDB nei siti web?

Funzionamento offline

Le web app che devono funzionare senza connessione a internet usano IndexedDB per salvare i dati in locale sul dispositivo. Un'app per appunti, uno strumento di gestione dei progetti o un client email possono salvare record in IndexedDB, così il visitatore può comunque leggere, creare e modificare contenuti anche offline. Le modifiche si sincronizzano con il server quando la connessione torna.

Grandi insiemi di dati nel browser

Le applicazioni che lavorano con grandi quantità di dati, come mappe, filtri complessi o grandi cataloghi di prodotti, possono usare IndexedDB per mettere quei dati in cache in locale. Questo riduce quante volte l'app deve recuperare dati dal server e rende l'esperienza molto più veloce per l'utente.

Archiviazione di file

IndexedDB può salvare file direttamente nel browser. Questo lo rende utile per le app in cui gli utenti caricano o generano contenuti che devono restare accessibili tra una sessione e l'altra prima di essere inviati al server.

La maggior parte dei siti usa IndexedDB?

No. IndexedDB è usato da applicazioni web complesse, non dai tipici siti aziendali. Un sito di marketing, un sito di servizi, un negozio online e la maggior parte dei siti ricchi di contenuti non ne hanno bisogno. Le loro esigenze di archiviazione sono ben coperte da cookie, local storage e session storage.

Per il tuo sito, la piattaforma su cui costruisci gestisce tutte le scelte di archiviazione. Il creatore di siti di WEMASY usa in automatico il tipo di archiviazione giusto per ogni funzione. Per una visione affiancata di tutti i tipi di archiviazione del browser e di come si combinano, leggi i tipi di archiviazione del browser.

Domande frequenti

IndexedDB è un vero database?

È un database nel senso che salva dati strutturati, supporta l'indicizzazione e permette query. Ma è molto diverso da un database lato server. Funziona interamente nel browser, sul dispositivo del visitatore, non su un server remoto. È pensato per l'archiviazione lato client, non per la gestione di dati condivisi tra più utenti che fanno i database dei server. Con il creatore di siti di WEMASY puoi configurarlo direttamente sul tuo sito.

Quanti dati può salvare IndexedDB?

Molto più di local storage o session storage. La maggior parte dei browser permette a IndexedDB di usare una parte significativa dello spazio disponibile sul disco, spesso centinaia di megabyte o più. Il browser può chiedere il permesso all'utente se un sito prova a salvare una quantità molto grande di dati. Il limite esatto varia da browser a browser e può dipendere anche da quanto spazio libero c'è sul dispositivo.

I dati di IndexedDB restano dopo la chiusura del browser?

Sì. I dati di IndexedDB sono persistenti per impostazione predefinita, in modo simile al local storage. Restano nel browser finché l'utente non cancella i dati di navigazione o finché il sito non li rimuove. Questa persistenza rende IndexedDB adatto alle applicazioni che funzionano offline, dove i dati devono sopravvivere tra una sessione e l'altra.

IndexedDB è sicuro?

IndexedDB è isolato per ogni sito, quindi un sito non può accedere ai dati di un altro. Ma, come gli altri tipi di archiviazione del browser, è accessibile agli script che girano sulla pagina. Dati sensibili come password, dati di pagamento e informazioni personali non vanno mai salvati in IndexedDB. È adatto ai dati delle applicazioni e ai contenuti grandi, ma non va usato come sostituto di un'archiviazione sicura lato server.

I visitatori possono cancellare i dati di IndexedDB?

Sì. Cancellando i dati di navigazione dalle impostazioni del browser si rimuove IndexedDB insieme a cookie, local storage e cache. I visitatori possono cancellarlo anche dagli strumenti per sviluppatori. Le applicazioni che dipendono da IndexedDB per dati importanti dovrebbero tenerne conto sincronizzando i dati con un server quando c'è connessione, così i dati locali non sono mai l'unica copia.

Devo conoscere IndexedDB per creare un sito web?

No. IndexedDB è uno strumento per sviluppatori che creano applicazioni web complesse. Se hai un sito su una piattaforma, non ci interagirai mai direttamente. Il tuo creatore di siti gestisce in background le scelte di archiviazione del browser. Capire IndexedDB è utile per avere un quadro completo di come funzionano i browser, ma non ha alcun peso pratico su come gestisci il tuo sito giorno per giorno.

Mettilo in pratica
sul tuo sito web.

Inizia gratis con WEMASY e crea il tuo sito in pochi minuti.