Hva er LOCALSTORAGE-filformatet?
En .localstorage-fil er databasen på disken som en nettleser oppretter for å implementere HTML5 Web Storage (localStorage) - et nøkkel-verdi-lager som lar nettsteder bevare data mellom økter. LOCALSTORAGE-filer utfører en lignende funksjon som informasjonskapsler (cookies), selv om Web Storage-spesifikasjonen definerer et bredere og mer kapabelt sett med lagringsoperasjoner.
LOCALSTORAGE-filens egenart
Data lagret i LOCALSTORAGE-filer slettes ikke når nettleseren lukkes. Slike data lagres på brukerens datamaskin; webserveren har ingen automatisk tilgang til dem. LOCALSTORAGE-data kan bare leses og skrives via JavaScript av det samme domenet som opprettet dem, noe som gir opprinnelsesisolering. LOCALSTORAGE-filer er vanligvis større enn informasjonskapsler.
Hvilke nettlesere bruker LOCALSTORAGE-filer?
LOCALSTORAGE støttes av alle moderne nettlesere. Tidlig støtte kom rundt 2008-2009 i Chrome 4, Firefox 3.5, Safari 4, Opera 10.5 og Internet Explorer 8. Mobil støtte fulgte i Android Browser og iOS Safari.
Størrelsesbegrensninger
HTML5-spesifikasjonen anbefaler en grense på 5 MB per opprinnelse. Skrivebordsnettlesere tillater vanligvis:
- 5 MB i Safari,
- 10 MB i Chrome og Firefox.
Mobilnettlesere håndhever generelt en strengere grense på 2-5 MB per opprinnelse.
Lagringsformat
Eldre WebKit-baserte nettlesere (Safari og tidlig Chrome) lagret LOCALSTORAGE-data som en SQLite-database med en ItemTable som kobler nøkler til verdier. Google Chrome migrerte sin localStorage-backend fra SQLite til LevelDB rundt Chrome 28 (2013) - moderne Chrome beholder disse filene i en leveldb/-undermappe under Local Storage i brukerprofilen. Enkelte Electron-apper og eldre Chromium-baserte nettlesere skriver fortsatt .localstorage SQLite-filer.
Sikkerhet og trygghet
RISIKO: LOW.localstorage-filer er passive SQLite-databaser som inneholder nettstedsdata (preferanser, økt-tokens, bufrede verdier). De kan inneholde sensitive data som økt-tokens eller personlig informasjon lagret av nettsteder. Ikke del eller eksponer disse filene. Sletting av dem fjerner localStorage for den berørte opprinnelsen (du kan bli logget ut av nettsteder).
Formatdetaljer
i et nøtteskallProgrammer som åpner LOCALSTORAGE-filer
Tekniske detaljer
dyp spesifikasjon| Beholder (WebKit/Safari/eldre Chrome) | SQLite 3 databasefil |
| SQLite magiske byte | `SQLite format 3` + NUL (hex 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00) ved offset 0 |
| Intern SQLite-tabell | `ItemTable (key TEXT, value TEXT)` - én rad per localStorage nøkkel-verdi-par; én databasefil per opprinnelse |
| Isolering per opprinnelse | Én fil per opprinnelse (skjema + vert + port); tilgang på tvers av opprinnelser blokkeres av nettleserens «same-origin policy» |
| Lagringsgrense | 5 MB per opprinnelse (HTML5-anbefaling); skrivebordsnettlesere håndhever 5-10 MB i praksis |
| Datapersistens | Data overlever lukking av nettleser og omstart av operativsystemet; slettes kun av eksplisitte skript fra nettstedet eller brukerhandling i nettleserinnstillinger |
| JavaScript API | Lese/skrive utelukkende via `localStorage.getItem()` / `localStorage.setItem()`; ingen direkte tilgang på filnivå fra nettsider |
| Kryptering | Ingen; alle lagrede verdier er i klartekst i SQLite-databasen eller LevelDB-oppføringene |
| Chrome backend-migrering | Chrome byttet localStorage fra SQLite (.localstorage-filer) til LevelDB rundt Chrome 28 (2013); moderne installasjoner bruker LevelDB |
| Chrome filplassering (Windows) | `%LOCALAPPDATA%\Google\Chrome\User Data\Default\Local Storage\leveldb\` |
| Safari filplassering (macOS) | `~/Library/Safari/LocalStorage/` - én SQLite `.localstorage`-fil per opprinnelse |
| Electron-apper | Mange Electron-baserte skrivebordsapper skriver fortsatt SQLite `.localstorage`-filer i sin app-spesifikke brukerdatamappe |
| Utgitt | 2008 (WebKit/Safari 4 beta; Chrome 1.0) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | html.spec.whatwg.org |
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om LOCALSTORAGE-filer.