Sobes.tech
Junior

Magyarázd el a különbséget a cookie-k, sessionStorage és localStorage között.

sobes.tech MI

Válasz az MI-től

A cookie-k kis mennyiségű szöveges információt (legfeljebb 4KB) tárolnak az ügyfél oldalon, minden HTTP-kérésnél elküldik a létrehozó domainhez. Lehetnek lejárati idejük. Felhasználásuk: hitelesítés, felhasználók követése, felhasználói preferenciák mentése.

A localStorage adatok tárolására szolgál lejárati idő nélkül (amíg a felhasználó nem törli az adattárolót vagy nem zárja be a böngészőt), az ügyfél oldalon (5-10MB, böngészőtől függően). Az adatok a böngészési munkamenetek között elérhetők, de csak ugyanabból a származásból (domain, protokoll, port) származó szkriptek számára. Nem küldik automatikusan HTTP-kérésekkel. Tartós adattárolásra, alkalmazásbeállítások mentésére használják.

A sessionStorage adatok egy böngészési munkamenet idejére (amíg a lap vagy az ablak nyitva van) tárolódnak. Az adatok törlődnek a lap vagy az ablak bezárásakor. A tárolási méret hasonló a localStorage-hoz (5-10MB). Az adatok csak ugyanabból a származásból származó szkriptek számára elérhetők. Nem küldik automatikusan HTTP-kérésekkel. Ideiglenes adatok tárolására, az aktuális munkamenethez kapcsolódó adatok mentésére használják.

Jellemzők Cookies localStorage sessionStorage
Tárolási idő Lejárati idő vagy böngésző bezárása Amíg nem törli a felhasználó vagy az alkalmazás Amíg a lap vagy az ablak nyitva van
Adatmennyiség Legfeljebb 4KB Legfeljebb 5-10MB Legfeljebb 5-10MB
Elérhetőség Küldik HTTP-kérésekkel a domainhez Csak ugyanabból a származásból származó JavaScript által Csak ugyanabból a származásból származó JavaScript által
Külön lapok közötti elérhetőség Igen Igen Nem (külön lapok esetén)
Célja Hitelesítés, követés, preferenciák Tartós tárolás, beállítások Ideiglenes tárolás a munkamenet során

Példa a localStorage használatára:

// Adatok mentése
localStorage.setItem('userName', 'Alice');

// Adatok lekérése
const userName = localStorage.getItem('userName');
console.log(userName); // Kimenet: Alice

// Adatok törlése
// localStorage.removeItem('userName');

// Összes tárolt adat törlése
// localStorage.clear();

Példa a sessionStorage használatára:

// Adatok mentése
sessionStorage.setItem('orderId', '12345');

// Adatok lekérése
const orderId = sessionStorage.getItem('orderId');
console.log(orderId); // Kimenet: 12345

// Adatok törlése
// sessionStorage.removeItem('orderId');

// Összes tárolt adat törlése
// sessionStorage.clear();