Økt og lokal lagring er nettleserlagringsmetoder som lar deg lagre data sammen med statsløse HTTP-forespørsler. De er et alternativ til informasjonskapselbasert lagring og har mange bruksområder i webutvikling.

Selv om de fungerer på en veldig lik måte, er det betydelige forskjeller du bør være klar over.

Lokal lagring og øktlagring: Hva er bruken av dem?

Lokal lagring og øktlagring er JavaScript APIer som du kan bruke til å lagre data på klientsiden. De lar et nettsted lagre data i nettleseren og instruerer nettleseren om å få tilgang til dem senere.

Avhengig av dine behov kan du bruke lokal lagring eller øktlagring for å lagre data. Begge lagringsmetodene ligner på informasjonskapsler, men uten det samme personvernet gjelder rundt informasjonskapsler. Derfor foretrekker de fleste moderne nettsteder å bare bruke nettlagringsmetoder eller kombinere dem med informasjonskapsler som en reserve.

I motsetning til informasjonskapsler, sender ikke lokal lagring og øktlagring data til serveren via HTTP-hoder. Du bør bare bruke dem for funksjonalitet på klientsiden.

I tillegg har lokal lagring og øktlagring hver en lagringsgrense på rundt 5 MB per domene. De gir mer lagringsplass enn informasjonskapsler, som kun har en kapasitet på 4 KiB per informasjonskapsel.

Hva er øktlagring?

En nettleserøkt tilsvarer din bruk av et nettsted. Hvis du besøker et nettsted, surfer litt rundt og slår av datamaskinen, kan du tenke på den tiden som en enkelt økt. Nettleserkonfigurasjonen din kan endre dette på subtile måter, men en økt tar sikte på å representere delen av tiden du samhandler med et nettsted.

Øktlagring er unik for hver nettleserfane. Hvis du åpner en ny fane og navigerer til det samme nettstedet, starter du en ny økt med egen lagringsplass. Imidlertid, hvis du bruker en "duplisert fane"-funksjon i nettleseren din, kan den gjenbruke den samme økten. Du kan ikke stole for mye på de spesifikke detaljene i en "sesjon". Fokuser i stedet på kjernekonseptet: øktlagring er midlertidig.

Sesjonslagring har innebygde API-metoder for å jobbe med nøkkel/verdi-pardata. Du kan lagre data fra JavaScript som så:

sessionStorage.setItem("nøkkel", "verdi");

Og for å hente den lagrede verdien:

sessionStorage.getItem("nøkkel");

Merk at begge deler nøkkel og verdi er bare strengtyper. Hvis du vil lagre en annen type, må du konvertere den til en streng, eksplisitt eller implisitt.

Hva er lokal lagring?

Lokal lagring opprettholder data på tvers av alle forekomster av et nettsted, enten de er i forskjellige faner eller vinduer. Den er også permanent, så dataene forsvinner ikke når du lukker nettleseren.

Når du åpner et nettsted som tidligere brukte lokal lagring, vil det alltid ha tilgang til de lagrede dataene.

Som nettutvikler kan du bruke denne mekanismen til å beholde data om en bruker. Noen nettsteder kan bruke dette for å holde deg pålogget eller gi en mer personlig opplevelse.

Som øktlagring kan du angi et lokalt lagringsobjekt med én linje med JavaScript-kode:

localStorage.setItem("nøkkel", "verdi");

Slik får du tilgang til nøkkelens verdi:

localStorage.getItem("nøkkel");

Merk at disse metodene fungerer på samme måte som øktlagring, de bruker bare en annen type datalager.

Mens øktlagring sletter data så snart økten avsluttes, er den eneste måten å tømme lokal lagring på å eksplisitt slette den. Begge lagringstypene tilbyr to metoder for å slette data. Den første fjerner et bestemt dataelement basert på nøkkelen:

localStorage.removeItem("nøkkel");

Du kan også fjerne alle data som er lagret av nettstedet ditt, uavhengig av nøkkelen:

localStorage.clear();

Du kan lære mer om disse weblagrings-API-metodene på javascript.info nettsted.

Når trenger du lokal lagring?

Siden lokal lagring er vedvarende, er det beste alternativet for å beholde data på tvers av brukerbesøk. Hvis du vil lagre nettstedpreferanser eller hurtigbufre langtidsdata, er lokal lagring passende. Du vil kanskje ikke lagre mer sensitive data ved å bruke lokal lagring, siden det er permanent.

Siden lokal lagring og øktlagring er front-end-metoder, vil du kanskje unngå å bruke dem for serverbaserte funksjoner som brukerinnlogging. Du kan vurdere informasjonskapsler som et alternativ i disse tilfellene.

Når trenger du øktlagring?

Hvis du ønsker å lagre data bare mens en bruker samhandler med nettstedet ditt, er øktlagring ideelt. Dette kan være for kortsiktig bufring eller bruksdata om et spesifikt besøk på nettstedet ditt.

Øktlagring er bedre for å lagre mer sensitiv informasjon siden den utløper.

Lokal lagring vs. Øktlagring: Hva er sikrere?

Som du har sett, er lokale og øktlagringsmetoder like på mange måter, men har fortsatt skreddersydde brukstilfeller. Du bør ikke vurdere noen av dem som sikre siden de er front-end-teknologier som JavaScript har tilgang til. Øktlagring er imidlertid veldig praktisk, og dens midlertidige natur er betryggende.

Lokal lagring er permanent, så det kan utgjøre ytterligere sikkerhetsproblemer. Alle som åpner en nettleser kan i teorien få tilgang til lokal lagring. Du bør være klar over hvordan XSS-angrep fungerer og hvordan du kan forhindre dem.

Lokal lagring eller øktlagring: Hvilken bør du bruke?

Øktlagring er litt sikrere på grunn av dens midlertidige natur. Valget av nettlagringsmetode avhenger imidlertid av kravene dine. JavaScript-lagring er mest egnet for bruk på klientsiden. Men den tilbyr et praktisk nettleserbasert datalager og er veldig enkelt å bruke.

Husk at mens lokal lagring lagrer data på tvers av flere faner, er øktlagring for det meste unik for hver fane. Du bør sørge for at appen din gjør så få forutsetninger som mulig og tar hensyn til kantsaker.

Informasjonskapsler er en eldre form for datapersistens, men de er fortsatt veldig mye i bruk. Det kan være lurt å sjekke dem for data som du trenger å overføre til serveren.