localStorage vs sessionStorage vs cookies

Pracuję w aplikacji, w której muszę zachować pewne dane podczas logowania użytkownika i mam takie pytanie, Jaka jest różnica między localStorage, sessionStorage, cookies ???

Pytałem, czego mogę użyć, aby utrzymać niektóre dane w DOM, nawet jeśli użytkownik odświeża stronę, niektórzy ludzie mówią: użyj sessionStorage, lub localStorage, wtedy ktoś wpadł na pomysł użycia ngCookies ponieważ działa w każdej przeglądarce, ale, którego powinienem użyć ?

Author: Marcelo, 2015-04-30

5 answers

LocalStorage i sessionStorage są tak zwanymi WebStorage i funkcjami HTML5.

localStorage przechowuje informacje tak długo, jak długo użytkownik ich nie usunie.

sessionStorage przechowuje informacje tak długo, jak trwa sesja. Zazwyczaj do momentu zamknięcia karty/przeglądarki przez użytkownika.

Pliki cookie są po prostu Plikami cookie, które są obsługiwane przez starsze przeglądarki i zazwyczaj stanowią alternatywę dla frameworków, które używają powyższego wspomniane WebStorages .

Natomiast pliki cookie mogą przechowywać o wiele mniej informacji niż WebStorage i informacje w WebStorage nigdy nie są przenoszone na serwer.

Należy pamiętać, że UE ma rozporządzenie, które wymaga, aby strony internetowe informowały swoich użytkowników o używaniu plików cookie. Nie wiem, czy dotyczy to również WebStorages

 75
Author: Rouby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-13 18:03:18

Obiekt SessionStorage: Obiekt sessionStorage przechowuje dane tylko dla sesji, co oznacza, że dane są przechowywane do momentu zamknięcia przeglądarki (lub karty). nie jest on dostępny, gdy plik jest uruchamiany lokalnie.

Dane przechowywane w obiekcie sessionStorage są dostępne tylko ze strony, na której pierwotnie przechowywane są dane, więc nie spełnia to wymagań

Obiekt LocalStorage: Dane przechowywane za pomocą obiektu localStorage są przechowywane aż do momentu, gdy zostaną usunięte za pomocą JavaScript lub użytkownik czyści pamięć podręczną przeglądarki.

Dane przechowywane w obiekcie localStorage są dostępne tylko z domeny, która pierwotnie przechowywała dane.

W Twoim przypadku myślę, że rozważasz użycie cookie lub sesji, pls. Uwaga plik cookie ma ograniczenie rozmiaru 4K na serwer.

 16
Author: Jackie Dong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-30 06:08:22

Oprócz innych odpowiedzi, WebStorage nie może uzyskać dostępu do subdomeny i / lub domeny nadrzędnej.

 4
Author: Ali,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-09 09:15:13

LocalStorage : 1. Limit danych: 5 MB 2. Dane wysyłane dla każdego żądania http: no

SessionStorage : 1. Limit danych: 5 MB 2. Dane wysyłane dla każdego żądania http: nie 3. Dane zostaną wyczyszczone po zamknięciu okna lub karty

Powiedziałbym, użyj localstorage / sessionStorage, jeśli dane nie są wrażliwe, inaczej użyj plików cookie

 0
Author: Prashant Biradar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-15 13:43:07

Pliki cookie przechowują po prostu 4kbs danych i jako czas wygaśnięcia.

LocalStorage są trwałe pliki cookie przechowuje 4 MB danych, które zostaną usunięte, gdy użytkownik wyczyści pamięć podręczną

 -2
Author: Shivappa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-18 11:25:31