HTML Academy · Lektion

localStorage kontra sessionStorage

Forstå levetiden og rækkevidden for hver lagringstype

Lektion 1 af 413 trin

localStorage kontra sessionStorage er en gratis HTML Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i HTML Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. HTML Academy-kurset indeholder 4 lektioner i alt.

Oversigt over Web Storage API'et

Web Storage API'et tilbyder to nøgle-værdi-lagre på klientsiden: localStorage (vedvarende på tværs af sessioner) og sessionStorage (ryddes, når fanen lukkes). Begge gemmer strengværdier og kan tilgås synkront via JavaScript fra den samme origin.

Vedvarende lagring i localStorage

Data i localStorage bevares, indtil de eksplicit ryddes af kode, brugeren eller sletning af browserdata. Dataene overlever genstart af browseren, genindlæsning af siden og lukning af faner. Kapaciteten er typisk 5-10 MB pr. origin afhængigt af browseren.

Omfanget af sessionStorage

sessionStorage er begrænset til den aktuelle browserfane og session. Data overlever genindlæsning af siden i den samme fane, men ryddes, når fanen lukkes. To faner med det samme websted har separat, isoleret sessionStorage — de deler ikke data.

Ligheder mellem API'erne

Begge lagre deler den samme API: setItem(key, value), getItem(key), removeItem(key), clear() og egenskaben length. Den samme kode fungerer for begge — udskift blot localStorage med sessionStorage og omvendt.

Valg mellem dem

Brug localStorage til: brugerpræferencer (tema, sprog), cachelagrede API-svar og funktionen "husk mig". Brug sessionStorage til: tilstand for trin i guider og formularer, en midlertidig indkøbskurv før betaling og data, der af hensyn til privatliv ikke bør bevares på tværs af besøg.

Begrænsning til samme origin

Begge lagre er strengt afgrænset til en origin (protokol + vært + port). https://example.com kan ikke læse localStorage, som er angivet af http://example.com. Dette er en sikkerhedsgrænse — underdomæner er også separate origins, medmindre document.domain manipuleres (udfaset).

Lagringskapacitet

Begge har i de fleste browsere en grænse på ~5 MB pr. origin. Hvis grænsen overskrides, kastes en QuotaExceededError. Behov for lagring af store datamængder kræver IndexedDB, som understøtter gigabytes af strukturerede data. Web Storage er beregnet til små nøgle-værdi-par, ikke binære datablokke eller store datasæt.

Synkron karakter

Læsning og skrivning i Web Storage er synkron og blokerer hovedtråden. Ved store læse- eller skriveoperationer kan det give hakken. Foretræk IndexedDB til hyppige operationer med store datamængder. Hold værdierne i Web Storage små, og brug det ikke for ofte, så du undgår ydelsesproblemer.

Serialiseringsmønster

Web Storage gemmer kun strenge. Serialiser objekter med JSON.stringify(), og deserialiser dem med JSON.parse(). Håndter fejl ved parsing: try { return JSON.parse(stored) } catch { return defaultValue }. Beskadigede værdier eller værdier, der ikke er JSON, i lageret udløser parsefejl.

Lagring i privat-/inkognitotilstand

localStorage i privat-/inkognitotilstand ryddes, når alle private vinduer lukkes — det opfører sig dermed som sessionStorage. Kode, der bruger localStorage til godkendelsestilstand, skal håndtere situationer, hvor localStorage uventet bliver slettet.

Begrænsninger for tredjeparter

Browsere begrænser i stigende grad tredjeparters adgang til lagring. En iframe fra third-party.com på first-party.com kan ikke tilgå third-party.com's localStorage. Safaris ITP og Firefox' Enhanced Tracking Protection opdeler lagringen — brug fra førsteparten påvirkes ikke.

Videnstjek

Hvornår ryddes sessionStorage?

Opsummering

localStorage bevares på ubestemt tid, indtil det ryddes programmatisk eller af brugeren; sessionStorage ryddes, når fanen lukkes. Begge er synkrone nøgle-værdi-lagre med strenge, afgrænset til en origin, og med en kapacitet på ~5 MB. Brug localStorage til præferencer og vedvarende tilstand; brug sessionStorage til midlertidig tilstand, der er knyttet til sessionen og ikke skal overleve lukning af fanen.

Gratis at komme i gang

Lær HTML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
40
Lektioner
159

Ofte stillede spørgsmål

Er lektionen “localStorage kontra sessionStorage” gratis?

Ja — alle 3 lektioner i læringssporet HTML Academy, inklusive “localStorage kontra sessionStorage”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. HTML Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “localStorage kontra sessionStorage”?

Forstå levetiden og rækkevidden for hver lagringstype Du øver dig i HTML Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på HTML Academy?

Der kræves ingen tidligere erfaring. HTML Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “localStorage kontra sessionStorage”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne HTML Academy-lektion?

Ja. Alle HTML Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. localStorage kontra sessionStorage
  2. Hentning, indstilling og fjernelse af elementer
  3. Lytning efter storage-hændelser
  4. Sikkerhed: hvad De aldrig bør gemme i storage
← Tilbage til HTML Academy