it-swarm.com.de

HTML5 Lokaler Speicher vs. Sitzungsspeicher

Gibt es, abgesehen davon, dass es nicht dauerhaft ist und nur auf das aktuelle Fenster beschränkt ist, Vorteile (Leistung, Datenzugriff usw.) für den Sitzungsspeicher über den lokalen Speicher?

467
jpkeisala

localStorage und sessionStorage erweitern beide Storage . Es gibt keinen Unterschied zwischen ihnen, außer der beabsichtigten "Nicht-Persistenz" von sessionStorage.

Das heißt, die in localStorage gespeicherten Daten bleiben erhalten, bis sie explizit gelöscht werden. Die vorgenommenen Änderungen werden gespeichert und stehen für alle aktuellen und zukünftigen Besuche der Website zur Verfügung.

Für sessionStorage sind Änderungen nur pro Fenster (oder Registerkarten in Browsern wie Chrome und Firefox) verfügbar. Die vorgenommenen Änderungen werden gespeichert und stehen für die aktuelle Seite sowie zukünftige Besuche auf der Site im selben Fenster zur Verfügung. Sobald das Fenster geschlossen ist, wird der Speicher gelöscht.

653
tcooc

Der einzige Unterschied besteht darin, dass localStorage eine andere Ablaufzeit hat. sessionStorage ist nur verfügbar, wenn das erstellte Fenster geöffnet ist. 
localStorage bleibt solange bestehen, bis Sie es löschen oder der Benutzer es löscht.
Nehmen wir an, Sie wollten einen Login-Benutzernamen und ein Kennwort speichern, die Sie aus Sicherheitsgründen (sessionStorageover localStorage) verwenden möchten (z. B. eine andere Person, die später auf ihr Konto zugreift). 
Wenn Sie jedoch die Einstellungen eines Benutzers auf dem Computer speichern möchten, möchten Sie wahrscheinlich localStorage. Alles in allem:

localStorage - für langfristige Verwendung verwenden.
sessionStorage - Verwenden Sie diese Option, wenn Sie etwas speichern möchten, das sich ändert oder temporär 

138
MayorMonty

Einige andere Punkte, die hilfreich sein können, um die Unterschiede zwischen lokalem und Sitzungsspeicher zu verstehen

  1. Sowohl der lokale Speicher als auch der Sitzungsspeicher sind auf das Dokument Origin beschränkt

    https://mydomain.com/
    http://mydomain.com/
    https://mydomain.com:8080/

    Alle oben genannten URLs teilen sich not denselben Speicher. (Hinweispfad der Webseite hat keinen Einfluss auf den Webspeicher)

  2. Der Sitzungsspeicher unterscheidet sich auch für Dokumente, bei denen die Origin-Richtlinie auf verschiedenen Registerkarten geöffnet ist. Daher kann dieselbe Webseite auf zwei verschiedenen Registerkarten geöffnet werden: kann nicht denselben Sitzungsspeicher.

  3. Sowohl der lokale Speicher als auch der Sitzungsspeicher werden von Browseranbietern bestimmt. Daher können von IE gespeicherte Speicherdaten nicht von Chrome oder FF gelesen werden.

Hoffe das hilft.

95
functionoid

Der Hauptunterschied zwischen localStorage und sessionStorage besteht darin, dass sessionStorage pro Tab eindeutig ist. Wenn Sie die Registerkarte schließen, wird die sessionStorage gelöscht, localStorage nicht. Sie können auch nicht zwischen Registerkarten kommunizieren :)

Ein weiterer subtiler Unterschied ist, dass localStorage auf Safari (8.0.3) ein Limit von 2551 k Zeichen hat, aber sessionStorage unbegrenzten Speicherplatz

Bei Chrome (v43) sind sowohl localStorage als auch sessionStorage auf 5101 Zeichen begrenzt (kein Unterschied zwischen normalem und privatem Modus).

Bei Firefox sind sowohl localStorage als auch sessionStorage auf 5120 k Zeichen begrenzt (kein Unterschied zwischen normalem/inkognito-Modus).

Kein Unterschied in der Geschwindigkeit :)

Es gibt auch ein Problem mit Mobile Safari und Mobile Chrome. Der private Modus Safari & Chrome hat einen maximalen Speicherplatz von 0 KB

27
Eek

sessionStorage ist dasselbe wie localStorage, außer dass die Daten nur für eine Sitzung gespeichert werden und entfernt werden, wenn der Benutzer das Browserfenster schließt, in dem er erstellt wurde

9

in Bezug auf die Leistung fanden meine (groben) Messungen keinen Unterschied auf 1000 Schreibvorgängen und Lesevorgängen

in Bezug auf die Sicherheit scheint es, als würde der localStore vor dem sessionStore geschlossen werden, aber es gibt keine konkreten Beweise - vielleicht tut es jemand anderes?

funktionell, stimme oben mit digitalFresh überein

9
cc young

Der Sitzungsspeicher und der lokale Speicher haben dasselbe Verhalten, mit dem Unterschied, dass der lokale Speicher die Daten speichert, bis der Benutzer den Cache und die Cookies und die Sitzungsspeicherdaten löscht, solange im System verbleiben, bis die Sitzung beendet wird Das Fenster für den Sitzungsspeicher wurde erstellt.

6
Bhargavi

Der Vorteil des Sitzungsspeichers gegenüber dem lokalen Speicher besteht meiner Meinung nach darin, dass er unbegrenzte Kapazität in Firefox hat und nicht länger als die Sitzung bestehen bleibt. (Natürlich hängt es davon ab, was Ihr Ziel ist.)

5
avvett

Lokaler Speicher: Die Benutzerinformationsdaten werden ohne Verfallsdatum gespeichert. Diese Daten werden nicht gelöscht, wenn der Benutzer die Browserfenster schließt. Diese stehen für Tag, Woche, Monat und Jahr zur Verfügung.

//Set the value in a local storage object
localStorage.setItem('name', myName);

//Get the value from storage object
localStorage.getItem('name');

//Delete the value from local storage object
localStorage.removeItem(name);//Delete specifice obeject from local storege
localStorage.clear();//Delete all from local storege

Session Storage: Dies ist dasselbe wie das lokale Speicherdatum, es werden jedoch alle Fenster gelöscht, wenn Browserfenster von einem Webbenutzer geschlossen werden.

//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";

Lesen Sie mehr Klick

1
Srikrushna Pal
  • sessionStorage verwaltet einen separaten Speicherbereich für jeden angegebenen Origin, der für die Dauer der Seitensitzung verfügbar ist (solange der Browser geöffnet ist, einschließlich Neuladen und Wiederherstellen von Seiten).

  • localStorage macht dasselbe, bleibt aber bestehen, wenn der Browser geschlossen und wieder geöffnet wird.

Ich habe dies aus https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API entnommen