Co je session storage a čím se liší od local storage?

Session storage ukládá data v prohlížeči po dobu relace karty. Zjistěte, jak funguje, jak se liší od local storage a k čemu ho weby používají.

Koncept

Session storage ukládá data v prohlížeči jen po dobu, kdy je karta otevřená. Zjistěte, jak funguje, čím se liší od local storage a k čemu ho weby používají.

Co kdyby si web dokázal zapamatovat právě tolik, aby vaše návštěva byla plynulá, a po odchodu si neponechal nic? Žádná zbylá data, žádné uložené předvolby, nic, co by zůstalo. Jen správné informace ve správný okamžik a pak jsou pryč. To je myšlenka session storage a je užitečnější, než se na první pohled zdá.

Pokud jste už četli kapitolu o local storage, víte, že udržuje data naživu i po zavření prohlížeče. Session storage zvolilo opačný přístup. Je navržené jako dočasné a to není omezení. Je to záměrná vlastnost.

Co je session storage?

Session storage je typ úložiště prohlížeče, který ukládá data po dobu relace karty prohlížeče. Dokud je karta otevřená, data jsou dostupná. Ve chvíli, kdy návštěvník kartu zavře, se session storage automaticky vymaže. Otevřete-li stejný web v nové kartě, session storage začne znovu a je prázdné.

Stejně jako local storage funguje session storage jako úložiště typu klíč a hodnota. Weby zapisují data pomocí popisku a hodnoty a načítají je vyhledáním popisku. Rozdíl je čistě v tom, jak dlouho data vydrží. Local storage trvá neomezeně. Session storage žije a umírá s kartou.

Čím se session storage liší od local storage?

Klíčový rozdíl je v trvanlivosti. Data v local storage zůstávají v prohlížeči, dokud se ručně nesmažou. Data v session storage zmizí ve chvíli, kdy se karta zavře. Proto se hodí pro různé situace.

Session storage je také specifické pro kartu. Pokud má návštěvník stejný web otevřený ve dvou různých kartách, každá karta má své vlastní oddělené session storage. Data mezi nimi se nesdílejí. Local storage se naproti tomu sdílí napříč všemi kartami stejného webu ve stejném prohlížeči.

K čemu weby session storage používají?

Sledování postupu v rámci relace

Vícekrokové formuláře a procesy pokladny často používají session storage k uchování postupu, když návštěvník přechází z jednoho kroku do dalšího. Pokud se vrátí na předchozí krok, jeho odpovědi tam stále jsou. Jakmile relace skončí, tato dočasná data zmizí, což je přesně to, co u věcí, jako je proces pokladny, chcete.

Dočasný stav rozhraní

Zda je postranní panel otevřený, která karta je právě vybraná nebo jak daleko návštěvník v dlouhém seznamu rolloval: to jsou všechno dočasné stavy, které má smysl držet během návštěvy, ale po odchodu návštěvníka nemají žádnou hodnotu. Session storage to řeší čistě.

Krátkodobé uchování citlivého kontextu

U všeho, co souvisí s aktuálním kontextem uživatele během návštěvy, je session storage bezpečnější volbou než local storage, protože se data sama uklidí. Nehrozí, že by citlivý kontext po skončení návštěvy zůstal v prohlížeči.

Kdy použít session storage a kdy local storage

Volba se zredukuje na jednu otázku: musí tato data přežít aktuální relaci karty? Pokud ano, správným nástrojem je local storage. Pokud jsou data relevantní jen během aktuální návštěvy a nemají se přenášet dál, hodí se lépe session storage.

Pro citlivá data není vhodné ani jedno. Hesla, platební údaje a osobní informace by se měly vždy zpracovávat na straně serveru s řádným šifrováním SSL a nikdy se neukládat v prohlížeči. Úplný obraz všech možností úložiště prohlížeče a jejich srovnání najdete v článku typy úložiště prohlížeče.

Často kladené otázky

Vymaže se session storage při zavření prohlížeče, nebo jen karty?

Session storage se vymaže při zavření konkrétní karty. Pokud má návštěvník otevřeno více karet a zavře jednu, vymaže se jen session storage té karty. Ostatní karty si své session storage ponechají. Pokud se zavře celý prohlížeč, session storage ve všech kartách se vymaže, protože všechny aktivní relace v tu chvíli končí.

Mohou dvě karty stejného webu sdílet session storage?

Ne. Session storage je izolované pro každou kartu. Pokud je stejný web otevřený ve dvou samostatných kartách, každá karta má své vlastní session storage, které druhá karta nemůže číst ani do něj zapisovat. Liší se to od local storage, které se sdílí napříč všemi kartami stejného webu ve stejném prohlížeči.

Je session storage bezpečnější než local storage?

Pro citlivý kontext je mírně lepší, protože se data po zavření karty automaticky vymažou. Stále je ale přístupné každému skriptu běžícímu na stránce, takže se nehodí pro hesla, osobní údaje ani platební informace. Automatické uklizení zkracuje dobu vystavení, ale platí stejná základní bezpečnostní pravidla. Citlivá data patří na server, ne do prohlížeče.

Co se stane se session storage, když návštěvník stránku obnoví?

Obnovení stránky session storage nevymaže. Data přetrvají přes načtení stránky, dokud je karta otevřená. Díky tomu je session storage užitečné k uchování stavu přes obnovení stránky v rámci stejné návštěvy, například aby zůstal formulář částečně vyplněný, aniž by se tato data přenášela po odchodu návštěvníka.

Kolik dat pojme session storage?

Session storage má zhruba stejnou kapacitu jako local storage, kolem 5 až 10 megabajtů na kartu podle prohlížeče. To je víc než dost na dočasné stavy rozhraní a data rozpracovaných formulářů. Pro větší sady dat nebo soubory se lépe hodí IndexedDB.

Musím session storage na svém webu nastavovat?

Ne, pokud používáte tvůrce webů. Session storage platforma využívá interně například ke správě stavu formulářů a předvoleb v rámci relace. Běží na pozadí a nemusíte nic nastavovat. S tvůrcem webů WEMASY platforma všechna rozhodnutí o úložišti prohlížeče řeší automaticky, takže vaši návštěvníci mají plynulý zážitek bez nutnosti cokoli nastavovat.

Využijte to hned
na vlastním webu.

Začněte zdarma s WEMASY a postavte si web za pár minut.