Sobes.tech
Junior

Explicați diferența dintre cookies, sessionStorage și localStorage.

sobes.tech AI

Răspuns de la AI

Domeniu de aplicare: Cookie-urile sunt disponibile atât pe partea client, cât și pe partea server. sessionStorage și localStorage sunt disponibile doar pe partea client.

Durata de viață: Pentru cookie-uri, durata de viață este stabilită la crearea lor (folosind atributul expires sau max-age). Dacă nu este specificată, cookie-ul este șters la închiderea browser-ului. sessionStorage stochează date doar pe durata sesiunii curente (până la închiderea filei sau ferestrei). localStorage stochează datele indefinitiv, până la ștergere explicită.

Dimensiune: Dimensiunea maximă pentru cookie-uri este de aproximativ 4 KB. Pentru sessionStorage și localStorage, variază între 5 MB și 10 MB, în funcție de browser.

Trimitere cu fiecare solicitare: Cookie-urile sunt trimise automat cu fiecare solicitare HTTP către domeniul pentru care au fost setate, ceea ce poate crește traficul. Datele din sessionStorage și localStorage nu sunt trimise către server.

Mod de acces: Accesul la cookie-uri se face prin document.cookie (șir). Accesul la sessionStorage și localStorage se face prin obiectele corespunzătoare folosind metodele setItem, getItem, removeItem și clear.

// Setare cookie
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";

// Obținere cookie
let x = document.cookie;

// Setare date în sessionStorage
sessionStorage.setItem("lastname", "Smith");

// Obținere date din sessionStorage
let y = sessionStorage.getItem("lastname");

// Setare date în localStorage
localStorage.setItem("firstname", "Jane");

// Obținere date din localStorage
let z = localStorage.getItem("firstname");
Caracteristică cookies sessionStorage localStorage
Domeniu de aplicare Client și Server Doar Client Doar Client
Durată de viață Stabilită la crearea (expires/max-age), sau până la închiderea browser-ului Până la închiderea filei sau ferestrei Indefinitiv (până la ștergere explicită)
Dimensiune ~4 KB ~5-10 MB (depinde de browser) ~5-10 MB (depinde de browser)
Trimitere cu solicitarea Da Nu Nu
Acces document.cookie sessionStorage.getItem/setItem localStorage.getItem/setItem