Local- und SessionStorage im Browser

Beides bietet die Möglichkeit kleine, nicht sicherheitsrelevante Daten im Browser des Nutzers abzulegen. Der Browser organisiert die Ablage anhand der aufgerufenen Domain. Das Handling beider Optionen ist identisch, da Beide das Web Storage API implementieren. Es gibt lediglich Unterschiede bei Lifetime und Scope der hinterlegten Daten.

Übersicht:

MerkmallocalStoragesessionStorage
LebensdauerDauerhaft (bis manuell gelöscht)Nur für die aktuelle Sitzung (bis Browser geschlossen)
GültigkeitsbereichDomain-weit (über Tabs/Fenster hinweg)Nur im aktuellen Tab/Fenster
Speicherlimitca. 5–10 MB (je nach Browser)ca. 5 MB (je nach Browser)
DatentypenNur Strings
(Objekte via JSON.stringify() / JSON.parse())
Nur Strings
(Objekte via JSON.stringify / JSON.parse())
Persistenz nach Browser-Neustart✅ Ja❌ Nein
Zugriff über Tabs✅ Ja, innerhalb derselben Domain❌ Nein
Typische VerwendungEinstellungen, Tokens, CachesTemporäre Daten einer Sitzung, z.B. unfertige Formulare

Methoden und Properties:

KategorieNameBeschreibungBeispiel
Daten setzensetItem(key, value)Speichert einen Wert unter einem SchlüssellocalStorage.setItem("user", "Alice")
Daten lesengetItem(key)Liefert den Wert zum Schlüssel oder null, falls nicht vorhandenlocalStorage.getItem("user")
Daten löschenremoveItem(key)Löscht den Wert zum SchlüssellocalStorage.removeItem("user")
Alles löschenclear()Löscht alle gespeicherten WertelocalStorage.clear()
Schlüssel abrufenkey(index)Liefert den Schlüssel an der Position indexlocalStorage.key(0)
Anzahl speichernlengthAnzahl der gespeicherten Schlüsselconsole.log(localStorage.length)

Hinweise:

Alle Werte werden als Strings gespeichert. Objekte oder Arrays müssen vorher mit JSON.stringify() umgewandelt werden. (Serialisierung) Vor dem Lesen wird durch JSON.parse() aus serialisierten Daten wieder eine verwendbare Instanz.

Methoden und private Felder werden nicht gespeichert, sondern entfernt.

Zugriff erfolgt über Domain: Jede Domain hat ihren eigenen Storage.

sessionStorage ist tab-spezifisch, localStorage domainspezifisch und persistent.

Beispiel:

// localStorage
localStorage.setItem("user", JSON.stringify({ name: "Alice" }));
const user = JSON.parse(localStorage.getItem("user"));

// sessionStorage
sessionStorage.setItem("temp", "42");
console.log(sessionStorage.getItem("temp")); // "42"