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