Qu'est-ce que le format de fichier LOCALSTORAGE ?
Un fichier .localstorage est la base de données sur disque qu'un navigateur web crée pour implémenter le HTML5 Web Storage (localStorage) - un système de stockage clé-valeur qui permet aux sites web de conserver des données entre les sessions. Les fichiers LOCALSTORAGE remplissent une fonction similaire aux cookies, bien que la spécification Web Storage définisse un ensemble d'opérations de stockage plus large et plus performant.
Unicité des fichiers LOCALSTORAGE
Les données stockées dans les fichiers LOCALSTORAGE ne sont pas supprimées à la fermeture du navigateur. Ces données sont sauvegardées sur l'ordinateur de l'utilisateur ; le serveur web n'y a aucun accès automatique. Les données LOCALSTORAGE ne peuvent être lues et écrites via JavaScript que par le domaine qui les a créées, assurant ainsi une isolation d'origine. Les fichiers LOCALSTORAGE sont généralement plus volumineux que les fichiers de cookies.
Quels navigateurs web utilisent les fichiers LOCALSTORAGE ?
Le LOCALSTORAGE est pris en charge par tous les navigateurs modernes. Le support initial est arrivé vers 2008-2009 dans Chrome 4, Firefox 3.5, Safari 4, Opera 10.5 et Internet Explorer 8. Le support mobile a suivi dans Android Browser et iOS Safari.
Limites de taille
La spécification HTML5 recommande une limite de 5 Mo par origine. Les navigateurs de bureau autorisent généralement :
- 5 Mo dans Safari,
- 10 Mo dans Chrome et Firefox.
Les navigateurs mobiles imposent généralement une limite plus stricte de 2 à 5 Mo par origine.
Format de stockage
Les anciens navigateurs basés sur WebKit (Safari et les premières versions de Chrome) stockaient les données LOCALSTORAGE sous forme de base de données SQLite avec une table ItemTable associant des clés à des valeurs. Google Chrome a migré son moteur de stockage localStorage de SQLite vers LevelDB aux alentours de Chrome 28 (2013) - les versions modernes de Chrome conservent ces fichiers dans un sous-dossier leveldb/ sous Local Storage dans le profil utilisateur. Certaines applications Electron et d'anciens navigateurs basés sur Chromium écrivent encore des fichiers SQLite .localstorage.
Sécurité et sûreté
RISQUE : LOWLes fichiers .localstorage sont des bases de données SQLite passives contenant des données de sites web (préférences, jetons de session, valeurs en cache). Ils peuvent contenir des données sensibles telles que des jetons de session ou des informations personnelles stockées par les sites. Ne partagez pas et n'exposez pas ces fichiers. Leur suppression efface le localStorage pour l'origine concernée (vous pourriez être déconnecté des sites web).
Détails du format
en brefProgrammes qui ouvrent les fichiers LOCALSTORAGE
Détails techniques
spécifications approfondies| Conteneur (WebKit/Safari/ancien Chrome) | Fichier de base de données SQLite 3 |
| Octets magiques SQLite | `SQLite format 3` + NUL (hex 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00) à l'offset 0 |
| Table SQLite interne | `ItemTable (key TEXT, value TEXT)` - une ligne par paire clé-valeur localStorage ; un fichier de base de données par origine |
| Isolation par origine | Un fichier par origine (protocole + hôte + port) ; l'accès multi-origine est bloqué par la politique de même origine du navigateur |
| Limite de stockage | 5 Mo par origine (recommandation HTML5) ; les navigateurs de bureau imposent 5 à 10 Mo en pratique |
| Persistance des données | Les données survivent à la fermeture du navigateur et au redémarrage du système ; effacées uniquement par un script explicite du site ou une action de l'utilisateur dans les réglages du navigateur |
| API JavaScript | Lecture/écriture exclusivement via `localStorage.getItem()` / `localStorage.setItem()` ; pas d'accès direct au niveau fichier par les pages web |
| Chiffrement | Aucun ; toutes les valeurs stockées sont en texte clair dans la base de données SQLite ou les entrées LevelDB |
| Migration du moteur Chrome | Chrome a fait passer le localStorage de SQLite (fichiers .localstorage) à LevelDB vers Chrome 28 (2013) ; les installations modernes utilisent LevelDB |
| Emplacement du fichier Chrome (Windows) | `%LOCALAPPDATA%\Google\Chrome\User Data\Default\Local Storage\leveldb\` |
| Emplacement du fichier Safari (macOS) | `~/Library/Safari/LocalStorage/` - un fichier SQLite `.localstorage` par origine |
| Applications Electron | De nombreuses applications de bureau basées sur Electron écrivent encore des fichiers SQLite `.localstorage` dans leur répertoire de données utilisateur spécifique |
| Publié | 2008 (WebKit/Safari 4 beta; Chrome 1.0) |
| Standard ouvert | Oui · libre de droits |
| Spécification | html.spec.whatwg.org |
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers LOCALSTORAGE.