CSS, HTML und Javascript mit {stil}

HTML5 Javascript Session Storage

Daten zu Webseiten im Browser speichern Session Storage

Session Storage funktioniert genauso wie Local Storage, überlebt ein Reload und ein Restore der Seite, gilt aber nur, solange die Seite geöffnet ist.

Session Storage lebt genauso wie Local Storage nur im Client und wird nicht mit HTTP-Requests hin- und hergeschoben. Bei Session Storage entsteht eine neue Session, wenn die Seite in einem neuen Browserfenster geöffnet wird.

Session Storage wird von allen modernen Browsern unterstützt (ab IE8).

Genauso wie LocalStorage wird der Speicher im SessionStorage nur durch die Ressourcen des Browsers auf dem Gastrechner limitiert (5 bis 10 MB).

Die Beschränkung von Session Storage auf ein individuelles Fenster tritt z.B. der Falle entgegen, dass während eines Einkaufs bei mehreren geöffneten Tabs oder Browserfenstern der Kauf aus Versehen zweimal ausgelöst wird.

webstorage

Auf den Session Storage kann nur aus dem ursprünglichen Fenster zugegriffen werden, nicht aus anderen Fenstern oder Tabs (während auf ein Cookie in jedem Browserfenster und jedem Tab zugegriffen werden kann).

Wird ein weiteres Fenster oder Tab geöffnet, entsteht im nächsten Fenster ein eigener Kontext und die Anwendung in weiteren Fenstern läuft unabhängig von der Anwendung in diesem Fenster.

Jedes Browserfenster/Tab nutzt seinen eigenen Session Storage und kümmert sich nicht um weitere Fenster. Mit HTTP-Cookies wäre das Abfangen eines zusätzlich geöffneten Fensters ein mühsames Unterfangen.

Methoden für SessionStorage

Session Storage ist eine Zeichenkette. Wenn andere Datentypen gespeichert werden sollen, muss das Script die Konvertierung übernehmen.

//schreibt Werte in ein Datenbankfeld fieldname
window.sessionStorage.setItem(fieldname,value)

//liest Werte aus einem Datenbankfeld fieldname
window.sessionStorage.getItem(fieldname,value)

//löscht den Wert von fieldname 
window.sessionStorage.removeItem(fieldname)

//Löscht die Datenbank
window.sessionStorage.clear()

Das explizite »window« vor den Aufruf kann weggelassen werden.

Die Methoden für das Schreiben von Daten, die Übernahme der Daten und das Löschen sind dieselben wie beim Local Storage – nur mit einem anderen Objekt, nämlich mit dem window.sessionStorage-Objekt.

SessionStorage und Sicherheit

Der SessionStorage wird nicht bei jedem Laden der Seite unverschlüsselt übertragen wie Cookies und nimmt mehr Informationen auf, aber der Benutzer kann den Session Storage deaktivieren oder löschen.

Es gibt keine standardisierte Methode, um den verfügbaren Speicherplatz zu erfragen.

Bei größeren und komplexen Daten ist der Session Storage langsam und da alle Werte einfache Strings sind, müssen sie manuell in Boolean, Integer oder Float-Werte umgewandelt werden.

Ein wichtiger Vorteil von Session Storage wie von Local Storage: Beides funktioniert auch Offline.