Sobes.tech
Junior

Vysvetlite rozdiel medzi cookies, sessionStorage a localStorage.

sobes.tech AI

Odpoveď od AI

Oblasť viditeľnosti: cookies sú dostupné ako na strane klienta, tak aj na strane servera. sessionStorage a localStorage sú dostupné iba na strane klienta.

Doba života: Pre cookies sa doba života nastavuje pri vytváraní (pomocou atribútu expires alebo max-age). Ak nie je uvedené, cookie sa odstráni pri zatvorení prehliadača. sessionStorage uchováva údaje iba počas aktuálnej relácie (do zatvorenia karty alebo okna). localStorage uchováva údaje bez časového obmedzenia, kým nie sú výslovne odstránené.

Veľkosť: Maximálna veľkosť pre cookies je približne 4 KB. Pre sessionStorage a localStorage — od 5 MB do 10 MB, v závislosti od prehliadača.

Odosielanie s každým požiadavkom: Cookies sa automaticky odosielajú s každým HTTP požiadavkom na doménu, pre ktorú sú nastavené, čo môže zvýšiť prenos. Dáta v sessionStorage a localStorage sa neodosielajú na server.

Spôsob prístupu: Prístup k cookies sa vykonáva cez document.cookie (reťazec). Prístup k sessionStorage a localStorage sa vykonáva cez príslušné objekty s použitím metód setItem, getItem, removeItem a clear.

// Nastavenie cookie
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";

// Získanie cookie
let x = document.cookie;

// Nastavenie dát do sessionStorage
sessionStorage.setItem("lastname", "Smith");

// Získanie dát z sessionStorage
let y = sessionStorage.getItem("lastname");

// Nastavenie dát do localStorage
localStorage.setItem("firstname", "Jane");

// Získanie dát z localStorage
let z = localStorage.getItem("firstname");
Funkcia cookies sessionStorage localStorage
Oblasť viditeľnosti Klient a server Iba klient Iba klient
Doba platnosti Nastavuje sa pri vytvorení (expires/max-age), inak do zatvorenia prehliadača Do zatvorenia záložky alebo okna Bez časového obmedzenia (kým nie je výslovne odstránené)
Veľkosť ~4 KB ~5-10 MB (závisí od prehliadača) ~5-10 MB (závisí od prehliadača)
Odosielanie s požiadavkou Áno Nie Nie
Prístup document.cookie sessionStorage.getItem/setItem localStorage.getItem/setItem