Sobes.tech
Junior

Spiega la differenza tra cookies, sessionStorage e localStorage.

sobes.tech AI

Risposta dell'AI

Meccanismo Dimensione (approssimativa) Durata di vita Accesso Trasferito al server Uso
Cookies 4 KB Data di scadenza impostata dal server o dal browser Documento corrente e sottodomini (a seconda delle impostazioni) In ogni richiesta HTTP Autenticazione, tracciamento, impostazioni utente personalizzate
localStorage 5-10 MB Illimitato (finché l'utente non cancella) Solo l'origine corrente (protocollo, dominio, porta) No Memorizzazione delle preferenze utente, dati di stato dell'applicazione
sessionStorage 5-10 MB Fino alla chiusura della scheda/finestra del browser Solo l'origine corrente (protoccolo, dominio, porta) No Memorizzazione temporanea dei dati della sessione utente

Cookies:

  • Inviati con ogni richiesta HTTP al server, il che può aumentare il traffico.
  • Scopo principale: identificazione dell'utente (cookie di sessione), memorizzazione delle preferenze, tracciamento delle azioni dell'utente.
  • Disponibili sia lato client (JavaScript) che lato server.
  • Possono essere limitati per dominio e percorso.
  • Considerati meno sicuri per la memorizzazione di dati sensibili a causa dell'invio automatico al server.

localStorage:

  • I dati sono memorizzati localmente nel browser dell'utente.
  • Utilizzato per la memorizzazione permanente di dati che non devono essere inviati al server ad ogni richiesta.
  • Ha un'API JavaScript semplice.
  • I dati sono memorizzati come coppie chiave-valore.
  • Non accessibile da altri origin.
// Imposta valore
localStorage.setItem('username', 'john.doe');

// Ottieni valore
let username = localStorage.getItem('username');

// Rimuovi valore
localStorage.removeItem('username');

// Pulisci tutto localStorage
localStorage.clear();

sessionStorage:

  • Simile a localStorage, ma i dati vengono memorizzati solo fino alla chiusura della scheda o della finestra del browser.
  • Ideale per la memorizzazione temporanea di dati legati alla sessione corrente dell'utente (ad esempio, dati di moduli, carrello).
  • Dispone anche di un'API JavaScript semplice, simile a localStorage.
  • I dati sono disponibili solo nell'origine corrente.
// Imposta valore
sessionStorage.setItem('sessionId', 'abc123');

// Ottieni valore
let sessionId = sessionStorage.getItem('sessionId');

// Rimuovi valore
sessionStorage.removeItem('sessionId');

// Pulisci tutto sessionStorage
sessionStorage.clear();