wake-up-neo.com

localStorage vs sessionStorage vs cookies

Ich arbeite in einer App, in der ich einige Daten aufbewahren muss, während der Benutzer angemeldet ist, und ich habe die Frage, was ist der Unterschied zwischen localStorage, sessionStorage, Cookies?

Ich habe gefragt, was ich verwenden kann, um einige Daten im DOM beizubehalten, auch wenn der Benutzer die Seite aktualisiert. Einige Leute sagen: use sessionStorage oder localStorage. Dann kam jemand auf die Idee, ngCookies zu verwenden. weil es in jedem browser funktioniert, aber welchen soll ich verwenden?

55
Non

localStorage und sessionStorage sind beide sogenannte WebStorages und Funktionen von HTML5.

localStorage speichert Informationen, solange der Benutzer sie nicht löscht.

sessionStorage speichert Informationen, solange die Sitzung läuft. Normalerweise, bis der Benutzer die Registerkarte/den Browser schließt.

cookies sind einfach Cookies, die von älteren Browsern unterstützt werden und in der Regel ein Rückfall für Frameworks sind, die die oben genannten WebStorages verwenden.

Im Gegensatz dazu können Cookies weniger Informationen speichern als WebStorages, und die Informationen in WebStorages werden niemals an den Server übertragen.

Beachten Sie, dass es in der EU eine Vorschrift gibt, nach der Websites ihre Benutzer über die Verwendung von Cookies informieren müssen. Ich weiß nicht, ob dies auch für WebStorages gilt

79
Rouby

sessionStorage-Objekt: Das sessionStorage-Objekt speichert Daten nur für eine Sitzung, dh die Daten werden gespeichert, bis der Browser (oder die Registerkarte) geschlossen wird. Es ist nicht verfügbar, wenn eine Datei lokal ausgeführt wird.

Auf im sessionStorage-Objekt gespeicherte Daten kann nur von der Seite aus zugegriffen werden, auf der die Daten ursprünglich gespeichert wurden. das entspricht also nicht Ihren Anforderungen

localStorage-Objekt: Mit dem localStorage-Objekt gespeicherte Daten bleiben erhalten, bis sie durch JavaScript entfernt werden oder der Benutzer den Cache des Browsers löscht.

Auf Daten, die im localStorage-Objekt gespeichert sind, kann nur von der Domäne aus zugegriffen werden, in der die Daten ursprünglich gespeichert wurden.

Für Ihren Fall denke ich, dass Sie über die Verwendung von Cookies oder Sitzungen nachdenken, pls. Hinweis: Das Cookie hat eine Größenbeschränkung von 4K pro Server.

16
Jackie Dong

Zusätzlich zu anderen Antworten können WebStorages nicht auf die Subdomain und/oder die übergeordnete Domäne zugreifen.

4
Ali

localStorage: 1. Datenlimit: 5 MB 2. Für jede http-Anfrage gesendete Daten: Nein

sessionStorage: 1. Datenlimit: 5 MB 2. Daten, die für jede http-Anfrage gesendet werden: nein 3. Die Daten werden gelöscht, sobald das Fenster oder die Registerkarte geschlossen wird

Ich würde sagen, verwenden Sie localstorage/sessionStorage, wenn die Daten nicht vertraulich sind 

0

LocalStorage - Speichert Daten ohne Ablaufdatum und wird nur durch JavaScript oder Löschen des Browser-Cache/der lokal gespeicherten Daten gelöscht. Das Speicherlimit ist das Maximum der drei

SessionStorage - Das sessionStorage-Objekt speichert Daten nur für eine Sitzung. Dies bedeutet, dass die Daten gespeichert werden, bis der Browser (oder die Registerkarte) geschlossen wird. Daten werden niemals auf den Server übertragen. Das Speicherlimit ist größer als ein Cookie (mindestens 5 MB).

Cookie - Speichert Daten, die mit nachfolgenden Anforderungen an den Server zurückgesendet werden müssen. Das Ablaufdatum hängt vom Typ ab und die Ablaufdauer kann entweder serverseitig oder clientseitig (normalerweise serverseitig) festgelegt werden. Cookies dienen in erster Linie dem serverseitigen Lesen (können auch clientseitig gelesen werden), localStorage und sessionStorage können nur clientseitig gelesen werden. Die Größe muss unter 4 KB liegen. Cookies können sicher gemacht werden, indem das httpOnly-Flag für dieses Cookie auf true gesetzt wird. Dies verhindert den clientseitigen Zugriff auf dieses Cookie.

0
Anush