Sobes.tech
Junior

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

sobes.tech KI

Antwort von AI

Mechanismus Größe (ungefähr) Lebensdauer Zugriff Wird an den Server übertragen Verwendung
Cookies 4 KB Ablaufdatum, vom Server oder Browser festgelegt Aktuelles Dokument und Subdomains (je nach Einstellung) Bei jeder HTTP-Anfrage Authentifizierung, Tracking, benutzerdefinierte Einstellungen
localStorage 5-10 MB Unbegrenzt (solange der Benutzer nicht löscht) Nur die aktuelle Origin (Protokoll, Domain, Port) Nein Speicherung von Benutzereinstellungen, Anwendungsstatusdaten
sessionStorage 5-10 MB Bis zum Schließen des Browser-Tabs/Fensters Nur die aktuelle Origin (Protokoll, Domain, Port) Nein Temporäre Speicherung von Daten innerhalb einer Sitzung des Benutzers

Cookies:

  • Werden bei jeder HTTP-Anfrage an den Server gesendet, was den Datenverkehr erhöhen kann.
  • Hauptzweck: Benutzeridentifikation (Sitzungscookies), Bevorzugungserinnerung, Benutzeraktionsverfolgung.
  • Sowohl auf Client-Seite (JavaScript) als auch auf Server-Seite verfügbar.
  • Können durch Domain und Pfad eingeschränkt werden.
  • Weniger sicher für die Speicherung sensibler Daten, da sie automatisch an den Server gesendet werden.

localStorage:

  • Daten werden lokal im Browser des Benutzers gespeichert.
  • Für dauerhafte Speicherung von Daten, die bei jeder Anfrage nicht gesendet werden müssen.
  • Einfache JavaScript-API.
  • Daten werden in Schlüssel-Wert-Paaren gespeichert.
  • Von anderen Origins nicht zugänglich.
// Wert setzen
localStorage.setItem('username', 'john.doe');

// Wert abrufen
let username = localStorage.getItem('username');

// Wert entfernen
localStorage.removeItem('username');

// Gesamten localStorage löschen
localStorage.clear();

sessionStorage:

  • Ähnlich wie localStorage, aber Daten werden nur bis zum Schließen des aktuellen Tabs oder Fensters gespeichert.
  • Ideal für temporäre Daten, die mit der aktuellen Sitzung des Benutzers verbunden sind (z.B. Formular-Daten, Warenkorb).
  • Hat ebenfalls eine einfache JavaScript-API, ähnlich wie localStorage.
  • Daten sind nur im aktuellen Origin verfügbar.
// Wert setzen
sessionStorage.setItem('sessionId', 'abc123');

// Wert abrufen
let sessionId = sessionStorage.getItem('sessionId');

// Wert entfernen
sessionStorage.removeItem('sessionId');

// Gesamten sessionStorage löschen
sessionStorage.clear();