Junior
Vysvetlite rozdiel medzi cookies, sessionStorage a localStorage.
sobes.tech AI
Odpoveď od AI
| Mechanizmus | Približná veľkosť | Doba životnosti | Prístup | Prenáša sa na server | Použitie |
|---|---|---|---|---|---|
| Cookies | 4 KB | Doba platnosti stanovená serverom alebo prehliadačom | Aktuálny dokument a subdomény (závisí od nastavení) | Pri každom HTTP požiadavke | Autentifikácia, sledovanie, vlastné nastavenia používateľa |
| localStorage | 5-10 MB | Neobmedzene (kým používateľ nevymaže) | Iba aktuálny origin (protokol, doména, port) | Nie | Uloženie používateľských nastavení, údaje o stave aplikácie |
| sessionStorage | 5-10 MB | Do zatvorenia záložky alebo okna prehliadača | Iba aktuálny origin (protokol, doména, port) | Nie | Uloženie údajov v rámci jednej relácie používateľa |
Cookies:
- Posielajú sa s každým HTTP požiadavkom na server, čo môže zvýšiť prenos.
- Hlavný účel: identifikácia používateľa (relácie cookies), zapamätanie preferencií, sledovanie aktivít používateľa.
- Dostupné ako na strane klienta (JavaScript), tak na strane servera.
- Môžu byť obmedzené podľa domény a cesty.
- Považujú sa za menej bezpečné pre ukladanie citlivých údajov kvôli automatickému odoslaniu na server.
localStorage:
- Dáta sú uložené lokálne v prehliadači používateľa.
- Používa sa na trvalé ukladanie dát, ktoré nie je potrebné odosielať na server pri každom požiadavku.
- Má jednoduché JavaScript API.
- Dáta sú vo formáte kľúč-hodnota.
- Nie je dostupné z iných originov.
// Nastavenie hodnoty
localStorage.setItem('username', 'john.doe');
// Získanie hodnoty
let username = localStorage.getItem('username');
// Odstránenie hodnoty
localStorage.removeItem('username');
// Vymazanie celého localStorage
localStorage.clear();
sessionStorage:
- Podobné ako localStorage, ale dáta sa ukladajú iba do zatvorenia aktuálnej záložky alebo okna prehliadača.
- Ideálne pre dočasné uloženie dát súvisiacich s aktuálnou reláciou používateľa (napríklad údaje formulárov, košík internetového obchodu).
- Má tiež jednoduché JavaScript API, podobné localStorage.
- Dáta sú dostupné iba na aktuálnom originu.
// Nastavenie hodnoty
sessionStorage.setItem('sessionId', 'abc123');
// Získanie hodnoty
let sessionId = sessionStorage.getItem('sessionId');
// Odstránenie hodnoty
sessionStorage.removeItem('sessionId');
// Vymazanie celého sessionStorage
sessionStorage.clear();