Category Archives: W3C

Cos’è il DOM Storage?

W3C DOM StorageIl 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:

  1. 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.
  2. I cookie memorizzano massimo 4KB di dati, DOM Storage memorizza fino a ben 5MB (10MB per Internet Explorer 8);
  3. 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;
  4. I dati DOM non sono trasmessi al server ad ogni richiesta web, dunque evita trasmissioni inutili di informazioni;
  5. 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:

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?