Wat is het LOCALSTORAGE-bestandsformaat?
Een .localstorage-bestand is de database op de schijf die een webbrowser aanmaakt om HTML5 Web Storage (localStorage) te implementeren - een sleutel-waarde-opslag waarmee websites gegevens tussen sessies kunnen bewaren. LOCALSTORAGE-bestanden vervullen een vergelijkbare functie als cookies, hoewel de Web Storage-specificatie een bredere en krachtigere set opslagbewerkingen definieert.
Uniciteit van LOCALSTORAGE-bestanden
Gegevens die in LOCALSTORAGE-bestanden zijn opgeslagen, worden niet verwijderd wanneer de browser wordt gesloten. Dergelijke gegevens worden opgeslagen op de computer van de gebruiker; de webserver heeft er geen automatische toegang toe. LOCALSTORAGE-gegevens kunnen alleen worden gelezen en geschreven via JavaScript door hetzelfde domein dat ze heeft aangemaakt, wat zorgt voor isolatie van de herkomst. LOCALSTORAGE-bestanden zijn doorgaans groter dan cookiebestanden.
Welke webbrowsers gebruiken LOCALSTORAGE-bestanden?
LOCALSTORAGE wordt ondersteund door alle moderne browsers. Vroege ondersteuning kwam rond 2008-2009 in Chrome 4, Firefox 3.5, Safari 4, Opera 10.5 en Internet Explorer 8. Mobiele ondersteuning volgde in de Android Browser en iOS Safari.
Groottebeperkingen
De HTML5-specificatie adviseert een limiet van 5 MB per herkomst. Desktopbrowsers staan doorgaans het volgende toe:
- 5 MB in Safari,
- 10 MB in Chrome en Firefox.
Mobiele browsers hanteren over het algemeen een striktere limiet van 2-5 MB per herkomst.
Opslagformaat
Oudere op WebKit gebaseerde browsers (Safari en vroege Chrome) sloegen LOCALSTORAGE-gegevens op als een SQLite-database met een ItemTable die sleutels aan waarden koppelt. Google Chrome migreerde de localStorage-backend van SQLite naar LevelDB rond Chrome 28 (2013) - moderne Chrome bewaart deze bestanden in een leveldb/ submap onder Local Storage in het gebruikersprofiel. Sommige Electron-apps en oudere op Chromium gebaseerde browsers schrijven nog steeds .localstorage SQLite-bestanden.
Beveiliging & veiligheid
RISICO: LOW.localstorage-bestanden zijn passieve SQLite-databases die websitegegevens bevatten (voorkeuren, sessietokens, gecachte waarden). Ze kunnen gevoelige gegevens bevatten zoals sessietokens of persoonlijke informatie die door websites is opgeslagen. Deel of verspreid deze bestanden niet. Het verwijderen ervan wist de localStorage voor de betreffende herkomst (u kunt worden uitgelogd bij websites).
Formaatdetails
in een notendopProgramma's die LOCALSTORAGE-bestanden openen
Technische details
diepe specificaties| Container (WebKit/Safari/oudere Chrome) | SQLite 3 databasebestand |
| SQLite magic bytes | `SQLite format 3` + NUL (hex 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00) op offset 0 |
| Interne SQLite-tabel | `ItemTable (key TEXT, value TEXT)` - één rij per localStorage sleutel-waarde-paar; één databasebestand per herkomst |
| Isolatie per herkomst | Eén bestand per herkomst (schema + host + poort); cross-origin toegang wordt geblokkeerd door het same-origin-beleid van de browser |
| Opslaglimiet | 5 MB per herkomst (HTML5-aanbeveling); desktopbrowsers dwingen in de praktijk 5-10 MB af |
| Gegevenspersistentie | Gegevens blijven bewaard na het sluiten van de browser en het herstarten van het besturingssysteem; alleen gewist door expliciet site-script of gebruikersactie in browserinstellingen |
| JavaScript API | Lezen/schrijven uitsluitend via `localStorage.getItem()` / `localStorage.setItem()`; geen directe toegang op bestandsniveau door webpagina's |
| Versleuteling | Geen; alle opgeslagen waarden zijn platte tekst in de SQLite-database of LevelDB-vermeldingen |
| Chrome backend-migratie | Chrome schakelde rond Chrome 28 (2013) voor localStorage over van SQLite (.localstorage-bestanden) naar LevelDB; moderne installaties gebruiken LevelDB |
| Chrome bestandslocatie (Windows) | `%LOCALAPPDATA%\Google\Chrome\User Data\Default\Local Storage\leveldb\` |
| Safari bestandslocatie (macOS) | `~/Library/Safari/LocalStorage/` - één SQLite `.localstorage`-bestand per herkomst |
| Electron-apps | Veel op Electron gebaseerde desktop-apps schrijven nog steeds SQLite `.localstorage`-bestanden in hun app-specifieke gebruikersgegevensmap |
| Uitgebracht | 2008 (WebKit/Safari 4 beta; Chrome 1.0) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | html.spec.whatwg.org |
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over LOCALSTORAGE-bestanden.