Sobes.tech
Junior

Erklären Sie den Unterschied zwischen Cookies, sessionStorage und localStorage.

sobes.tech KI

Antwort von AI

Cookies, sessionStorage und localStorage sind Mechanismen des Web-Speichers, die sich in Zweck, Lebensdauer und Datenvolumen unterscheiden.

  • Cookies: Kleine Datenfragmente, die vom Webserver gesendet und im Browser des Nutzers gespeichert werden. Sie werden bei jeder nachfolgenden Anfrage an denselben Server gesendet. Sie werden für Authentifizierung, Speicherung von Nutzerpräferenzen, Verfolgung des Warenkorbstatus verwendet.

    • Lebensdauer: Beim Erstellen festgelegt (kann Sitzungs- oder mit festem Ablaufdatum sein).
    • Volumen: Begrenzt, in der Regel einige Kilobyte (ca. 4 KB).
  • sessionStorage: Speichert Daten nur für eine Browsersitzung (geöffnete Registerkarte oder Fenster). Die Daten werden beim Schließen der Registerkarte oder des Fensters gelöscht.

    • Lebensdauer: Bis zum Schließen der Registerkarte oder des Fensters.
    • Volumen: Deutlich größer als bei Cookies (in der Regel mehrere Megabyte).
  • localStorage: Speichert Daten ohne Ablaufdatum, bis sie explizit vom Nutzer oder Skript gelöscht werden. In allen Registerkarten und Fenstern derselben Domain verfügbar.

    • Lebensdauer: Permanent (bis zur expliziten Löschung).
    • Volumen: Deutlich größer als bei Cookies (in der Regel mehrere Megabyte).

Hier eine kurze Vergleichstabelle:

Mechanismus Lebensdauer Verfügbarkeit Wird an den Server gesendet Volumen (typisch) Zweck
Cookies Sitzungsbasiert oder mit Ablaufdatum Über HTTP-Header Ja ~4 KB Authentifizierung, Verfolgung, Präferenzen
sessionStorage Bis zum Schließen des Tabs/Fensters Über JS API Nein ~5-10 MB Temporäres Speichern von Sitzungsdaten
localStorage Permanent (bis gelöscht) Über JS API Nein ~5-10 MB Langfristige Datenspeicherung

Beispiele für die Nutzung der JavaScript API:

// Cookies (über document.cookie zugänglich, erfordert manuelles Parsen und Serialisieren)
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";

// sessionStorage
sessionStorage.setItem('id', '123');
let userId = sessionStorage.getItem('id');
sessionStorage.removeItem('id');

// localStorage
localStorage.setItem('theme', 'dark');
let userTheme = localStorage.getItem('theme');
localStorage.removeItem('theme');
localStorage.clear(); // Löscht alle Daten in localStorage