Explică diferența dintre cookies, sessionStorage și localStorage.
sobes.tech AI
Răspuns de la AI
Cookie-urile stochează cantități mici de informații textuale (până la 4 KB) pe partea clientului, fiind trimise cu fiecare solicitare HTTP către domeniul care le-a stabilit. Pot avea o dată de expirare. Sunt utilizate pentru autorizare, urmărirea utilizatorilor, salvarea preferințelor utilizatorului.
localStorage stochează date fără dată de expirare (până când utilizatorul șterge stocarea sau închide browserul) pe partea clientului (până la 5-10MB, în funcție de browser). Datele sunt disponibile între sesiunile browserului, dar doar pentru scripturile din aceeași origine (domeniu, protocol, port). Nu sunt trimise automat cu solicitările HTTP. Folosit pentru stocare pe termen lung și configurarea aplicației.
sessionStorage stochează date pe durata unei sesiuni de browser (atât timp cât tab-ul sau fereastra sunt deschise). Datele sunt șterse la închiderea tab-ului sau ferestrei. Capacitatea de stocare este similară cu localStorage (până la 5-10MB). Datele sunt accesibile doar pentru scripturile din aceeași origine. Nu sunt trimise automat cu solicitările HTTP. Folosit pentru stocare temporară a datelor specifice sesiunii curente.
| Caracteristică | Cookies | localStorage | sessionStorage |
|---|---|---|---|
| Durata de stocare | Data de expirare sau închiderea browserului | Până când utilizatorul sau aplicația le șterge | Atât timp cât tab-ul sau fereastra sunt deschise |
| Dimensiunea datelor | Până la 4 KB | Până la 5-10MB | Până la 5-10MB |
| Accesibilitate | Trimise cu solicitări HTTP către domeniu | Doar prin JavaScript din aceeași origine | Doar prin JavaScript din aceeași origine |
| Acces între file | Da | Da | Nu (pentru file diferite) |
| Scopul | Autentificare, urmărire, preferințe | Stocare pe termen lung, setări | Stocare temporară în cadrul sesiunii |
Exemplu de utilizare a localStorage:
// Salvare date
localStorage.setItem('userName', 'Alice');
// Obținere date
const userName = localStorage.getItem('userName');
console.log(userName); // Output: Alice
// Ștergere date
// localStorage.removeItem('userName');
// Ștergere tot stocarea
// localStorage.clear();
Exemplu de utilizare a sessionStorage:
// Salvare date
sessionStorage.setItem('orderId', '12345');
// Obținere date
const orderId = sessionStorage.getItem('orderId');
console.log(orderId); // Output: 12345
// Ștergere date
// sessionStorage.removeItem('orderId');
// Ștergere tot stocarea
// sessionStorage.clear();