Wat is session storage?

Session storage bewaart data in de browser zolang een tabblad open is. Lees hoe het werkt, hoe het verschilt van local storage en waarvoor het dient.

Session storage bewaart data in de browser zolang een tabblad open is. Lees hoe het werkt, hoe het verschilt van local storage en waarvoor websites het gebruiken.

Stel dat een website net genoeg kon onthouden om je bezoek soepel te laten verlopen, zonder iets vast te houden nadat je weggaat. Geen restdata, geen opgeslagen voorkeuren, niets dat blijft hangen. Alleen de juiste informatie op het juiste moment, en dan is het weg. Dat is het idee achter session storage, en het is nuttiger dan het in eerste instantie klinkt.

Heb je het hoofdstuk over local storage al gelezen, dan weet je dat het data bewaart, ook nadat de browser sluit. Session storage doet het tegenovergestelde. Het is bewust tijdelijk, en dat is geen beperking maar een eigenschap met opzet.

Wat is session storage?

Session storage is een soort browseropslag die data bewaart voor de duur van de sessie van een browsertabblad. Zolang het tabblad open blijft, is de data beschikbaar. Zodra de bezoeker dat tabblad sluit, wordt session storage automatisch leeggemaakt. Open je dezelfde website in een nieuw tabblad, dan begint session storage opnieuw, zonder iets erin.

Net als local storage werkt session storage als een key-valueopslag. Websites schrijven data met een label en een waarde en halen die op door het label op te zoeken. Het verschil zit puur in hoe lang de data blijft. Local storage blijft onbeperkt bestaan. Session storage leeft en sterft met het tabblad.

Hoe verschilt session storage van local storage?

Het belangrijkste verschil is hoe lang de data blijft. Data in local storage blijft in de browser staan totdat je hem handmatig verwijdert. Data in session storage verdwijnt zodra het tabblad sluit. Daardoor passen ze bij verschillende situaties.

Session storage is ook per tabblad. Heeft een bezoeker dezelfde website in twee tabbladen open, dan heeft elk tabblad zijn eigen aparte session storage. Ze delen geen data. Local storage wordt daarentegen gedeeld tussen alle tabbladen van dezelfde website in dezelfde browser.

Waarvoor gebruiken websites session storage?

Voortgang binnen een sessie bijhouden

Formulieren met meerdere stappen en afrekenprocessen gebruiken vaak session storage om de voortgang vast te houden terwijl een bezoeker van de ene stap naar de volgende gaat. Gaat hij terug naar een vorige stap, dan staan zijn antwoorden er nog. Eindigt de sessie, dan is die tijdelijke data weg, en dat is precies wat je wilt voor bijvoorbeeld een afrekenproces.

Tijdelijke status van de interface

Of een zijbalk open is, welk tabblad is geselecteerd of hoe ver een bezoeker door een lange lijst is gescrold: het zijn allemaal tijdelijke toestanden die tijdens een bezoek zinvol zijn, maar geen waarde hebben zodra de bezoeker vertrekt. Session storage regelt dit netjes.

Gevoelige context kortlevend houden

Voor alles wat met de huidige context van een gebruiker tijdens een bezoek te maken heeft, is session storage een veiligere keuze dan local storage, omdat de data zichzelf automatisch opruimt. Er is geen risico dat gevoelige context in de browser blijft hangen nadat het bezoek is afgelopen.

Wanneer gebruik je session storage en wanneer local storage?

De keuze komt neer op één vraag: moet deze data de huidige tabbladsessie overleven? Zo ja, dan is local storage het juiste gereedschap. Is de data alleen relevant tijdens het huidige bezoek en mag hij niet worden meegenomen, dan past session storage beter.

Voor gevoelige data is geen van beide geschikt. Wachtwoorden, betaalgegevens en persoonlijke informatie moeten altijd aan de serverkant worden afgehandeld met goede SSL-versleuteling, en nooit in de browser worden opgeslagen. Voor een volledig beeld van alle opties voor browseropslag en hoe ze zich verhouden, lees je soorten browseropslag.

Veelgestelde vragen

Wordt session storage leeggemaakt als de browser sluit, of alleen het tabblad?

Session storage wordt leeggemaakt als het specifieke tabblad sluit. Heeft een bezoeker meerdere tabbladen open en sluit hij er één, dan wordt alleen de session storage van dat tabblad gewist. De andere tabbladen houden hun eigen session storage. Sluit de hele browser, dan wordt alle session storage van alle tabbladen gewist, omdat dan alle actieve sessies eindigen.

Kunnen twee tabbladen van dezelfde website session storage delen?

Nee. Session storage is per tabblad afgeschermd. Staat dezelfde website in twee aparte tabbladen open, dan heeft elk tabblad zijn eigen session storage waar het andere tabblad niet in kan lezen of schrijven. Dit verschilt van local storage, dat wordt gedeeld tussen alle tabbladen van dezelfde website in dezelfde browser.

Is session storage veiliger dan local storage?

Voor gevoelige context is het iets beter, omdat de data automatisch wordt gewist als het tabblad sluit. Maar elk script op de pagina kan er nog steeds bij, dus het is niet geschikt voor wachtwoorden, persoonlijke gegevens of betaalgegevens. De automatische opruiming verkleint het tijdvenster waarin data kan worden ingezien, maar dezelfde basisregels voor veiligheid gelden. Gevoelige data hoort op de server, niet in de browser.

Wat gebeurt er met session storage als een bezoeker de pagina ververst?

Een pagina verversen maakt session storage niet leeg. De data blijft staan na het herladen van de pagina, zolang het tabblad open blijft. Daardoor is session storage nuttig om de status vast te houden bij verversen binnen hetzelfde bezoek, bijvoorbeeld een gedeeltelijk ingevuld formulier, zonder dat die data blijft bestaan nadat de bezoeker is weggegaan.

Hoeveel data kan session storage bevatten?

Session storage heeft ongeveer dezelfde capaciteit als local storage: rond de 5 tot 10 megabyte per tabblad, afhankelijk van de browser. Dat is ruim voldoende voor tijdelijke interfacestatus en gegevens van formulieren die in behandeling zijn. Voor grotere datasets of bestanden is IndexedDB beter geschikt.

Moet ik session storage op mijn website instellen?

Niet als je een websitebouwer gebruikt. Het platform gebruikt session storage intern, bijvoorbeeld om formulierstatus en voorkeuren binnen een sessie te beheren. Het draait op de achtergrond zonder dat je iets hoeft in te stellen. Bij de websitebouwer van WEMASY regelt het platform alle keuzes rond browseropslag automatisch, zodat je bezoekers een soepele ervaring hebben zonder dat jij iets hoeft te configureren.

Zet het meteen
in je eigen website.

Start gratis met WEMASY en bouw je site in een paar minuten.