Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Cookies, localStorage ou SessionStorage ?

Par Valentin LAURENT Publié le 18/09/2017 à 17:25:55 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Avant l’arrivée du HTML5, les informations sur l'application ne pouvaient être enregistrées que dans les cookies.

Maintenant, le localStorage et sessionStorage comme les cookies sont des solutions qui servent à stocker de l'information dans le client, mais chacune a ses particularités.

LocalStorage et sessionStockage

Bien que HTML5 soit déjà une norme dans les principaux navigateurs modernes, il existe d'anciennes versions qui ne prennent pas en charge ce type de stockage. Voici les navigateurs principaux et les versions dans lesquelles localStorage et sessionStorage sont compatibles :

Chrome: 4.0, Firefox: 3.5, Internet Explorer: 8.0, Safari: 4.0, Opera: 11.5

La seule différence entre localStorage et sessionStorage est que dans localStorage, l'information est constamment stockée dans le navigateur, c'est-à-dire si l'utilisateur ferme le navigateur et rentre sur le Web, les informations seront toujours disponibles.

Au lieu de cela, dans sessionStorage, l'information ne dure que pendant la durée de session du navigateur. La fermeture de la fenêtre entraînera donc la perte de l'information.

Il convient également de noter que sessionStorage ne sert qu'à la fenêtre que vous visualisez. Si l'utilisateur ouvre un lien d'application dans une nouvelle fenêtre ou un nouveau TAB, cette information ne sera pas disponible non plus.

localStorage et sessionStorage sont utiles pour la persistance d'informations non sensibles entre les pages. Des informations sensibles telles que des mots de passe ou des informations susceptibles de compromettre la sécurité des utilisateurs ne doivent jamais être stockées.

Cookies

Les cookies peuvent également être lus par l'utilisateur et aucune information compromise ne doit être stockée. Ce type d'information doit toujours être sauvegardé dans la session du serveur.

De plus, comme les cookies sont habituellement utilisés pour l'authentification, tous les cookies valides pour une page sont envoyés du navigateur au serveur sur chaque demande dans le même domaine. Autrement dit, pour chaque demande que le navigateur effectue sur le serveur, que ce soit une page html ou un appel ajax, des images ou des polices, un cookie est envoyé. C'est pour cette raison que les cookies ne doivent pas stocker trop d'informations. Le plus commun est d'utiliser des cookies pour stocker des tokkens (identifiants chiffrés) qui identifient la session de l'utilisateur sur le serveur ou pour suivre la publicité.

Les cookies autorisent uniquement la sauvegarde des string (chaînes de texte), tandis que les deux autres sites vous permettent de sauvegarder les variables de Javascript comme des entiers, des chaînes, mais pas des tableaux ou des objets. Pour enregistrer ce dernier, il est généralement sérialisé et encode l'objet dans du JSON.

Conclusion

Les informations de session doivent être contrôlées par l'application à partir du serveur. C'est le meilleur endroit pour stocker des informations sensibles. Cependant, le principal inconvénient est l'évolutivité. Étant donné que depuis le serveur il n'y a aucun moyen de savoir si un utilisateur ferme le navigateur ou visite une page externe, les informations de session devront expirer après un certain temps pour éviter de consommer toutes les ressources du serveur.

Enfin, il convient de mentionner que les trois systèmes de stockage sont soumis à la règle du même domaine "même origine", ce qui signifie que les navigateurs ne permettront pas l'accès à l'information à partir de domaines autres que celui qui a été fait la demande.

Les images qui sont extraites du fichier en format GIF nous offriront la même résolution que le fichier GIF d'origine, ce qui peut être un problème si nous voulons vraiment utiliser une image particulière. Pour résoudre ce problème, nous pouvons effectuer une recherche inversée sur Google pour trouver une image plus grande qui correspond à la résolution que nous recherchons.

Ressources :

https://www.alsacreations.com/article/lire/1402-web-storage-localstorage-sessionstorage.html

https://stackoverflow.com/questions/19867599/what-is-the-difference-between-localstorage-sessionstorage-session-and-cookies

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels