Sobes.tech
Junior

Vysvetlite rozdiel medzi cookies, sessionStorage a localStorage.

sobes.tech AI

Odpoveď od AI

Cookies ukladajú malé objemy textovej informácie (do 4KB) na strane klienta, odosielajú sa s každým HTTP požiadavkou na doménu, ktorá ich nastavila. Môžu mať dobu platnosti. Používajú sa na autorizáciu, sledovanie používateľov, uloženie používateľských preferencií.

localStorage ukladá údaje bez doby platnosti (kým ich používateľ nevymaže alebo neukončí prehliadač) na strane klienta (do 5-10MB v závislosti od prehliadača). Dáta sú dostupné medzi reláciami prehliadača, ale len pre skripty rovnakého pôvodu (doména, protokol, port). Neodosielajú sa automaticky s HTTP požiadavkami. Používajú sa na trvalé ukladanie dát, nastavenia aplikácie.

sessionStorage ukladá údaje počas jednej relácie prehliadača (kým je karta alebo okno otvorené). Dáta sa vymažú pri zatvorení karty alebo okna. Veľkosť úložiska je podobná localStorage (do 5-10MB). Dáta sú dostupné len pre skripty rovnakého pôvodu. Neodosielajú sa automaticky s HTTP požiadavkami. Používajú sa na dočasné ukladanie dát, špecifických pre aktuálnu reláciu.

Charakteristiky Cookies localStorage sessionStorage
Doba uloženia Doba platnosti alebo zatvorenie prehliadača Kým ich používateľ nevymaže alebo neodstráni Kým je karta alebo okno otvorené
Veľkosť dát Do 4KB Do 5-10MB Do 5-10MB
Dostupnosť Odosielajú sa s HTTP požiadavkami na doménu Len cez JavaScript rovnakého pôvodu Len cez JavaScript rovnakého pôvodu
Dostupnosť medzi kartami Áno Áno Nie (pre rôzne karty)
Účel Autentifikácia, sledovanie, preferencie Dlhodobé ukladanie, nastavenia Dočasné ukladanie v rámci relácie

Príklad použitia localStorage:

// Uložiť údaje
localStorage.setItem('userName', 'Alice');

// Získať údaje
const userName = localStorage.getItem('userName');
console.log(userName); // Výstup: Alice

// Odstrániť údaje
// localStorage.removeItem('userName');

// Vyčistiť celé úložisko
// localStorage.clear();

Príklad použitia sessionStorage:

// Uložiť údaje
sessionStorage.setItem('orderId', '12345');

// Získať údaje
const orderId = sessionStorage.getItem('orderId');
console.log(orderId); // Výstup: 12345

// Odstrániť údaje
// sessionStorage.removeItem('orderId');

// Vyčistiť celé úložisko
// sessionStorage.clear();