Sobes.tech
Junior

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

sobes.tech MI

Válasz az MI-től

Mechanizmus Méret (körülbelül) Élettartam Hozzáférés Szerverre továbbítva Használat
Cookie-k 4 KB A szerver vagy a böngésző által beállított lejárati idő Jelen dokumentum és aldomainjei (beállításoktól függően) Minden HTTP-kérésnél Hitelesítés, nyomon követés, felhasználói beállítások
localStorage 5-10 MB Határozatlan (amíg a felhasználó nem törli) Csak a jelenlegi eredet (protokoll, domain, port) Nem Felhasználói beállítások, alkalmazásállapot adatok tárolása
sessionStorage 5-10 MB A böngészőfül vagy ablak bezárásáig Csak a jelenlegi eredet (protokoll, domain, port) Nem Ideiglenes adatok tárolása a felhasználói munkamenethez

Cookie-k:

  • Minden HTTP-kéréssel a szerverhez kerülnek, ami növelheti a forgalmat.
  • Fő cél: felhasználó azonosítása (munkamenet cookie-k), preferenciák megjegyzése, felhasználói tevékenység nyomon követése.
  • Elérhetőek mind kliensoldalon (JavaScript), mind szerveroldalon.
  • Domain és út szerint korlátozhatóak.
  • Kevésbé biztonságosak érzékeny adatok tárolására, mivel automatikusan küldik a szervernek.

localStorage:

  • A felhasználó böngészőjében helyben tárolódnak az adatok.
  • Állandó tárolásra használható, olyan adatok számára, amiket nem kell minden kérésnél elküldeni.
  • Egyszerű JavaScript API-val rendelkezik.
  • Kulcs-érték párokban tárolódnak az adatok.
  • Más eredetből nem elérhetőek.
// Érték beállítása
localStorage.setItem('username', 'john.doe');

// Érték lekérése
let username = localStorage.getItem('username');

// Érték törlése
localStorage.removeItem('username');

// Az összes localStorage törlése
localStorage.clear();

sessionStorage:

  • Hasonló a localStorage-hoz, de az adatok csak a jelenlegi fül vagy ablak bezárásáig tárolódnak.
  • Ideális ideiglenes adatok tárolására, amelyek a felhasználó aktuális munkamenetéhez kapcsolódnak (pl. űrlapadatok, kosár).
  • Szintén egyszerű JavaScript API-val rendelkezik, hasonló a localStorage-hoz.
  • Az adatok csak a jelenlegi eredetben érhetők el.
// Érték beállítása
sessionStorage.setItem('sessionId', 'abc123');

// Érték lekérése
let sessionId = sessionStorage.getItem('sessionId');

// Érték törlése
sessionStorage.removeItem('sessionId');

// Az összes sessionStorage törlése
sessionStorage.clear();