Il DOM Storage (pronuncia Dam storag), anche detto Web Storage, è l’evoluzione funzionale degli attuali cookie e c’è da scommetterci che sarà uno standard di uso comune che cambierà molte abitudini.
Attualmente in corso di standardizzazione, sta nascendo insieme all’HTML 5, ed è ad oggi supportato (solo in parte) da Internet Explorer 8, Firefox 2+ e Safari.
Gli sviluppatori possono sfruttare questa tecnologia per memorizzare dei dati, temporaneamente per una sessione o permanentemente per un dominio, sui client compatibili.
I dati sono memorizzati con una struttura ad array associativo, cioè un insieme di coppie di nomi e relativi valori.
Non è in alcun modo escluso un uso ridondante, di cookie e Web Storage.
Ecco un esempio di contatore di visualizzazioni fatto con DOM Storage (testato e funzionante su Internet Explorer 8, Firefox 3.5 e Safari 4):
<p>Hai visualizzato questa pagina <span id=”contatore”>un numero sconosciuto</span> di volte. </p>
<script>
//crea un oggetto window.localStorage
//che memorizza dati permanentemente per un dominio
var dati = window.localStorage;// se la variabile numeroVisualizzazioni non esiste la inizializza a 0
if (!dati.numeroVisualizzazioni) dati.numeroVisualizzazioni = 0;// aggiunge 1 al contatore attuale
dati.numeroVisualizzazioni = parseInt(dati.numeroVisualizzazioni) + 1;//aggiorna il contenuto dello span
document.getElementById(‘contatore’).innerHTML = dati.numeroVisualizzazioni;
</script>
Rispetto ai cookie, DOM Storage offre maggiori funzionalità e opportunità di sviluppo, vediamo quali:
- DOM Storage permette il controllo costante delle coppie di dati memorizzati, anche da finestre differenti, con associazione alle singole finestre o tab. Offre perciò un controllo totale in alcune situazioni particolari, ad esempio permette di evitare problemi dovuti a operazioni portate avanti su più finestre del browser.
L’esempio fatto dal W3C per spiegare l’utilità di questo controllo è quello di un utente che desidera acquistare dei biglietti aerei. Compie la transazione con più finestre aperte sullo stesso sito, alla fine passando da una finestra all’altra e facendo un po’ di confusione si ritrova memorizzato nel “carrello”, gestito dal cookie, più biglietti di quanto desiderato. Rischia di combinare un guaio. - I cookie memorizzano massimo 4KB di dati, DOM Storage memorizza fino a ben 5MB (10MB per Internet Explorer 8);
- I dati DOM Storage non hanno l’impostazione della scadenza e possono essere permanenti, a differenza dei cookie. Il controllo è lasciato in mano agli utenti;
- I dati DOM non sono trasmessi al server ad ogni richiesta web, dunque evita trasmissioni inutili di informazioni;
- DOM Storage può lavorare offline, memorizzare tutto sul disco e poi una volta individuato l’evento di connessione alla rete richiedere di memorizzare i dati sul server. Questo rende le applicazioni web funzionali anche in assenza di connettività;
Riferimenti per approfondire:
- W3C – Web Storage
- Mozilla – DOM Storage
- Microsoft Msdn – Introduction to DOM Storage
- Video sul DOM storage su Internet Explorer 8
Sicuramente ci saranno problemi di sicurezza che emergeranno con il diffondersi dell’uso. Ma le potenzialità di sviluppo di applicazioni web saranno interessantissime.
Cosa ne pensate?
Grazie per la spiegazione in ITALIANO