Sobes.tech
Junior

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();