Hvad er LOCALSTORAGE-filformatet?
En .localstorage-fil er den database på disken, som en webbrowser opretter for at implementere HTML5 Web Storage (localStorage) - et nøgle-værdi-lager, der lader websteder bevare data mellem sessioner. LOCALSTORAGE-filer udfører en lignende funktion som cookies, selvom Web Storage-specifikationen definerer et bredere og mere kapabelt sæt af lagringsoperationer.
LOCALSTORAGE-filens unikke egenskaber
Data gemt i LOCALSTORAGE-filer slettes ikke, når browseren lukkes. Sådanne data gemmes på brugerens computer; webserveren har ingen automatisk adgang til dem. LOCALSTORAGE-data kan kun læses og skrives via JavaScript af det samme domæne, som oprettede dem, hvilket giver oprindelsesisolation. LOCALSTORAGE-filer er typisk større end cookie-filer.
Hvilke webbrowsere bruger LOCALSTORAGE-filer?
LOCALSTORAGE understøttes af alle moderne browsere. Tidlig understøttelse kom omkring 2008-2009 i Chrome 4, Firefox 3.5, Safari 4, Opera 10.5 og Internet Explorer 8. Mobil understøttelse fulgte i Android Browser og iOS Safari.
Størrelsesbegrænsninger
HTML5-specifikationen anbefaler en grænse på 5 MB pr. oprindelse. Desktop-browsere tillader typisk:
- 5 MB i Safari,
- 10 MB i Chrome og Firefox.
Mobilbrowsere håndhæver generelt en strammere grænse på 2-5 MB pr. oprindelse.
Lagringsformat
Ældre WebKit-baserede browsere (Safari og tidlig Chrome) gemte LOCALSTORAGE-data som en SQLite-database med en ItemTable, der mapper nøgler til værdier. Google Chrome migrerede sin localStorage-backend fra SQLite til LevelDB omkring Chrome 28 (2013) - moderne Chrome gemmer disse filer i en leveldb/-undermappe under Local Storage i brugerprofilen. Nogle Electron-apps og ældre Chromium-baserede browsere skriver stadig .localstorage SQLite-filer.
Sikkerhed og tryghed
RISIKO: LOW.localstorage-filer er passive SQLite-databaser, der indeholder websitedata (præferencer, session-tokens, cachede værdier). De kan indeholde følsomme data såsom session-tokens eller personlige oplysninger gemt af websteder. Del eller eksponer ikke disse filer. Sletning af dem rydder localStorage for den berørte oprindelse (du kan blive logget ud af websteder).
Formatdetaljer
kort fortaltProgrammer der åbner LOCALSTORAGE-filer
Tekniske detaljer
dyb specifikation| Container (WebKit/Safari/ældre Chrome) | SQLite 3 databasefil |
| SQLite magic bytes | `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-tabel | `ItemTable (key TEXT, value TEXT)` - én række pr. localStorage nøgle-værdi-par; én databasefil pr. oprindelse |
| Isolation pr. oprindelse | Én fil pr. oprindelse (skema + vært + port); adgang på tværs af oprindelser blokeres af browserens same-origin policy |
| Lagringsgrænse | 5 MB pr. oprindelse (HTML5-anbefaling); desktop-browsere håndhæver 5-10 MB i praksis |
| Datapersistens | Data overlever lukning af browser og genstart af operativsystem; ryddes kun ved eksplicit script på siden eller brugerhandling i browserindstillinger |
| JavaScript API | Læs/skriv udelukkende via `localStorage.getItem()` / `localStorage.setItem()`; ingen direkte adgang på filniveau fra websider |
| Kryptering | Ingen; alle gemte værdier er i klartekst i SQLite-databasen eller LevelDB-indgangene |
| Chrome backend-migrering | Chrome skiftede localStorage fra SQLite (.localstorage-filer) til LevelDB omkring Chrome 28 (2013); moderne installationer bruger LevelDB |
| Chrome filplacering (Windows) | `%LOCALAPPDATA%\Google\Chrome\User Data\Default\Local Storage\leveldb\` |
| Safari filplacering (macOS) | `~/Library/Safari/LocalStorage/` - én SQLite `.localstorage`-fil pr. oprindelse |
| Electron-apps | Mange Electron-baserede desktop-apps skriver stadig SQLite `.localstorage`-filer i deres app-specifikke brugerdatamappe |
| Udgivet | 2008 (WebKit/Safari 4 beta; Chrome 1.0) |
| Åben standard | Ja · royaltyfri |
| Specifikation | html.spec.whatwg.org |
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om LOCALSTORAGE-filer.