Czym jest session storage i czym różni się od local storage?

Session storage zapisuje dane w przeglądarce na czas sesji karty. Dowiedz się, jak działa, czym różni się od local storage i do czego służy stronom.

Wersja robocza

Session storage zapisuje dane w przeglądarce tylko tak długo, jak otwarta jest karta. Dowiedz się, jak działa, czym różni się od local storage i do czego używają go strony.

A gdyby strona potrafiła zapamiętać akurat tyle, by Twoja wizyta była płynna, i nie zatrzymywać niczego po wyjściu? Bez pozostawionych danych, bez zapisanych preferencji, bez niczego, co zostaje. Tylko właściwa informacja we właściwym momencie, a potem znika. Taka jest idea session storage i jest on przydatniejszy, niż mogłoby się wydawać.

Jeśli rozdział o local storagejest już za Tobą, wiesz, że utrzymuje on dane nawet po zamknięciu przeglądarki. Session storage ma odwrotne podejście. Jest zaprojektowany jako tymczasowy i to nie jest ograniczenie. To celowa cecha.

Czym jest session storage?

Session storage to rodzaj pamięci przeglądarki, który zapisuje dane na czas sesji karty przeglądarki. Dopóki karta jest otwarta, dane są dostępne. W chwili, gdy odwiedzający zamknie kartę, session storage jest automatycznie czyszczony. Otwórz tę samą stronę w nowej karcie, a session storage zaczyna od zera, bez żadnych danych.

Podobnie jak local storage, session storage działa jak magazyn klucz-wartość. Strony zapisują dane z etykietą i wartością, a odczytują je, wyszukując etykietę. Różnica dotyczy wyłącznie tego, jak długo dane trwają. Local storage utrzymuje dane bez końca. Session storage żyje i umiera razem z kartą.

Czym session storage różni się od local storage?

Kluczowa różnica to trwałość. Dane w local storage zostają w przeglądarce, dopóki nie zostaną ręcznie usunięte. Dane w session storage znikają w chwili zamknięcia karty. Dzięki temu nadają się do różnych sytuacji.

Session storage jest też przypisany do karty. Jeśli odwiedzający ma tę samą stronę otwartą w dwóch różnych kartach, każda karta ma własny, osobny session storage. Karty nie współdzielą danych. Local storage jest za to współdzielony między wszystkimi kartami tej samej strony w tej samej przeglądarce.

Do czego strony używają session storage?

Śledzenie postępu w ramach sesji

Formularze wieloetapowe i procesy zamówienia często używają session storage, by przechowywać postęp, gdy odwiedzający przechodzi z kroku do kroku. Jeśli wróci do poprzedniego kroku, jego odpowiedzi nadal tam są. Gdy sesja się kończy, te tymczasowe dane znikają, i dokładnie tego chcesz w przypadku na przykład procesu zamówienia.

Tymczasowy stan interfejsu

To, czy pasek boczny jest otwarty, która karta jest wybrana albo jak daleko odwiedzający przewinął długą listę: to wszystko stany tymczasowe, które mają sens podczas wizyty, ale nie mają wartości po wyjściu odwiedzającego. Session storage obsługuje to czysto.

Krótkie przechowywanie wrażliwego kontekstu

Dla wszystkiego, co dotyczy bieżącego kontekstu użytkownika podczas wizyty, session storage jest bezpieczniejszym wyborem niż local storage, bo dane same się czyszczą. Nie ma ryzyka, że wrażliwy kontekst zostanie w przeglądarce po zakończeniu wizyty.

Kiedy używać session storage, a kiedy local storage

Wybór sprowadza się do jednego pytania: czy te dane muszą przetrwać dłużej niż bieżąca sesja karty? Jeśli tak, właściwym narzędziem jest local storage. Jeśli dane są ważne tylko podczas bieżącej wizyty i nie powinny się przenosić, lepszy jest session storage.

Dla danych wrażliwych żadne z nich nie jest odpowiednie. Hasła, dane płatnicze i dane osobowe zawsze powinny być obsługiwane po stronie serwera, z odpowiednim szyfrowaniem SSL i nigdy nie być zapisywane w przeglądarce. Pełny obraz wszystkich opcji pamięci przeglądarki i ich porównanie znajdziesz w artykule rodzaje pamięci przeglądarki.

Najczęściej zadawane pytania

Czy session storage czyści się po zamknięciu przeglądarki, czy tylko karty?

Session storage czyści się po zamknięciu konkretnej karty. Jeśli odwiedzający ma otwartych wiele kart i zamknie jedną, wyczyści się tylko session storage tej karty. Pozostałe karty zachowują własny session storage. Jeśli cała przeglądarka zostanie zamknięta, cały session storage we wszystkich kartach jest usuwany, bo wszystkie aktywne sesje wtedy się kończą.

Czy dwie karty tej samej strony mogą współdzielić session storage?

Nie. Session storage jest odizolowany dla każdej karty. Jeśli ta sama strona jest otwarta w dwóch osobnych kartach, każda ma własny session storage, którego druga karta nie może odczytać ani zapisać. Różni się to od local storage, który jest współdzielony między wszystkimi kartami tej samej strony w tej samej przeglądarce.

Czy session storage jest bezpieczniejszy niż local storage?

Jest nieco lepszy dla wrażliwego kontekstu, bo dane czyszczą się automatycznie po zamknięciu karty. Ale nadal jest dostępny dla każdego skryptu uruchomionego na stronie, więc nie nadaje się na hasła, dane osobowe ani dane płatnicze. Automatyczne czyszczenie skraca okno ekspozycji, ale obowiązują te same podstawowe zasady bezpieczeństwa. Dane wrażliwe należą na serwer, a nie do przeglądarki.

Co dzieje się z session storage, gdy odwiedzający odświeży stronę?

Odświeżenie strony nie czyści session storage. Dane utrzymują się po przeładowaniach, dopóki karta pozostaje otwarta. Dzięki temu session storage przydaje się do przechowywania stanu między odświeżeniami w tej samej wizycie, na przykład częściowo wypełnionego formularza, bez przenoszenia tych danych po wyjściu odwiedzającego.

Ile danych może pomieścić session storage?

Session storage ma mniej więcej taką samą pojemność jak local storage, około 5 do 10 megabajtów na kartę, zależnie od przeglądarki. To więcej niż wystarczy na tymczasowe stany interfejsu i dane formularzy w trakcie wypełniania. Do większych zbiorów danych lub plików lepiej nadaje się IndexedDB .

Czy muszę konfigurować session storage na swojej stronie?

Nie, jeśli używasz kreatora stron. Session storage jest używany wewnętrznie przez platformę do rzeczy takich jak zarządzanie stanem formularzy i preferencjami w ramach sesji. Działa w tle bez żadnej konfiguracji z Twojej strony. W kreatorze stronWEMASY platforma automatycznie obsługuje wszystkie decyzje dotyczące pamięci przeglądarki, więc odwiedzający mają płynne doświadczenie bez konfiguracji.

Wykorzystaj to od razu
na własnej stronie.

Zacznij za darmo z WEMASY i zbuduj stronę w kilka minut.