Stockage web local
Le stockage web local ou stockage DOM (Document Object Model), ou encore localStorage, est une technique d'enregistrement de donnĂ©es dans un navigateur web. Le stockage web local permet l'enregistrement persistant, comme avec les cookies mais avec une capacitĂ© bien plus grande, et sans avoir Ă rajouter de donnĂ©es dans l'entĂȘte de requĂȘte HTTP.
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 en localStorage 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 API JavaScript.
API localStorage
L'API JavaScript permet la sauvegarde de couples clĂ©-valeur, les clĂ©s et valeurs Ă©tant obligatoirement des chaĂźnes de caractĂšres (string). Des objets peuvent ĂȘtre stockĂ©s aprĂšs conversion en string avec par exemple JSON.stringify(object)
puis restaurés depuis une string avec JSON.parse(str)
.
Principales méthodes de l'API (localStorage implante l'interface Storage) :
localStorage.setItem(key, value)
pour associer value Ă keylet a = localStorage.getItem(key)
pour récupérer la valeur associée à key (retourne nul 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
Ces mĂ©thodes peuvent Ă©galement ĂȘtre utilisĂ©es avec sessionStorage qui implante Ă©galement l'interface Storage ; contrairement Ă localStorage, sessionStorage rĂ©alise un stockage transitoire qui expire lorsque le navigateur est fermĂ©.
Limite de taille
- La taille des cookies est limitée à 4 ko. Celle du localStorage dépend des navigateurs :
Références
- (en) Michael Mahemoff, « "Offline": What does it mean and why should I care? »,
- « Dev.Opera â Web Storage: Easier, More Powerful Client-Side Data Storage », sur dev.opera.com
- Eiji Kitamura Published: January 28th, 2014 Updated: January 28th et 2014 Comments: 0 Your browser may not support the functionality in this article, « Working with quota on mobile browsers: A research report on browser storage - HTML5 Rocks », sur HTML5 Rocks - A resource for open web HTML5 developers
- John Resig: DOM Storage. John Resig, ejohn.org. Retrieved on 2011-06-12.
- « Issue 21680002: Up the window.localstorage limit to 10M from 5M. - Code Review », sur chromiumcodereview.appspot.com
- Introduction to Web Storage. Microsoft Developer Network, msdn.microsoft.com. Retrieved on 2014-08-05.