Sobes.tech
Junior

Wyjaśnij różnicę między cookies, sessionStorage a localStorage.

sobes.tech AI

Odpowiedź od AI

Zakres: Pliki cookie są dostępne zarówno po stronie klienta, jak i serwera. sessionStorage i localStorage są dostępne tylko po stronie klienta.

Czas życia: Dla plików cookie czas życia jest ustawiany podczas ich tworzenia (za pomocą atrybutu expires lub max-age). Jeśli nie jest określony, plik cookie jest usuwany po zamknięciu przeglądarki. sessionStorage przechowuje dane tylko podczas bieżącej sesji (do zamknięcia karty lub okna). localStorage przechowuje dane bezterminowo, dopóki nie zostaną wyraźnie usunięte.

Rozmiar: Maksymalny rozmiar dla plików cookie to około 4 KB. Dla sessionStorage i localStorage jest to od 5 MB do 10 MB, w zależności od przeglądarki.

Wysyłanie z każdym żądaniem: Pliki cookie są automatycznie wysyłane z każdym żądaniem HTTP do domeny, dla której zostały ustawione, co może zwiększyć ruch. Dane w sessionStorage i localStorage nie są wysyłane do serwera.

Sposób dostępu: Dostęp do plików cookie odbywa się przez document.cookie (łańcuch). Dostęp do sessionStorage i localStorage odbywa się przez odpowiednie obiekty z użyciem metod setItem, getItem, removeItem i clear.

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

// Pobieranie pliku cookie
let x = document.cookie;

// Ustawianie danych w sessionStorage
sessionStorage.setItem("lastname", "Smith");

// Pobieranie danych z sessionStorage
let y = sessionStorage.getItem("lastname");

// Ustawianie danych w localStorage
localStorage.setItem("firstname", "Jane");

// Pobieranie danych z localStorage
let z = localStorage.getItem("firstname");
Cecha cookies sessionStorage localStorage
Zakres Klient i Serwer Tylko klient Tylko klient
Czas życia Ustawiany podczas tworzenia (expires/max-age), lub do zamknięcia przeglądarki Do zamknięcia karty/okna przeglądarki Bezterminowo (do ręcznego usunięcia)
Rozmiar ~4 KB ~5-10 MB (w zależności od przeglądarki) ~5-10 MB (w zależności od przeglądarki)
Wysyłanie z żądaniem Tak Nie Nie
Dostęp document.cookie sessionStorage.getItem/setItem localStorage.getItem/setItem