Cet article est uneébauche concernant l’informatique.
Lestockage web local oustockage DOM (Document Object Model), ou encorelocalStorage, est une technique d'enregistrement de données dans unnavigateur web. Le stockage web local permet l'enregistrementpersistant, comme avec lescookies mais avec une capacité bien plus grande, et sans avoir à rajouter de données dans l'entête de requêteHTTP.
Il existe deux types de stockage web local : le stockage local et le stockage de session, équivalant respectivement aux cookies persistants et aux cookies de session[1].
Contrairement aux cookies, les données enlocalStorage ne sont pas transmises automatiquement dans un en-tête à chaque requête HTTP réalisée vers le serveur. Elles sont conservées localement par le navigateur et sont accessibles avec une APIJavaScript.
L'API JavaScript permet la sauvegarde de couples clé-valeur, les clés et valeurs étant obligatoirement deschaînes de caractères (string). Des objets peuvent être stockés après conversion enstring avec par exempleJSON.stringify(object) puis restaurés depuis unestring avecJSON.parse(str).
Principales méthodes de l'API (localStorage implémente l'interfaceStorage) :
localStorage.setItem(key, value) pour associervalue àkeylet a = localStorage.getItem(key) pour récupérer la valeur associée àkey (retournenull si la clé n'est pas présente)localStorage.removeItem(key) pour supprimer une correspondancelocalStorage.clear() pour effacer toutes les cléslocalStorage.length renvoie le nombre de clés stockéeslocalStorage.key(i) renvoie la clé d'indice n (n étant compris entre 0 etlocalStorage.length - 1)Ces méthodes peuvent également être utilisées avecsessionStorage qui implémente également l'interfaceStorage ; contrairement àlocalStorage,sessionStorage réalise un stockage transitoire qui expire lorsque le navigateur est fermé.
La taille des cookies est limitée à 4 ko. Celle du localStorage dépend des navigateurs :
| Navigateur | Taille du localStorage |
|---|---|
| Opera 10.50+ | 5 Mo[2] |
| Safari 8 | 5 Mo[3] |
| Firefox 34 | 10 Mo[3] (anciennement 5 Mo parorigine en 2007[4]) |
| Google Chrome | 10 Mo par origine[5] |
| Internet Explorer | 10 Mo par aire de stockage[6] |
| Côté serveur |
| ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Côté client |
| ||||||||
| Sujets | |||||||||