Sobes.tech
Junior

Explique la différence entre cookies, sessionStorage et localStorage.

sobes.tech IA

Réponse de l'IA

Mécanisme Taille (approximative) Durée de vie Accès Transmis au serveur Utilisation
Cookies 4 Ko Date d'expiration définie par le serveur ou le navigateur Document actuel et sous-domaines (selon configuration) À chaque requête HTTP Authentification, suivi, paramètres utilisateur personnalisés
localStorage 5-10 Mo Illimité (tant que l'utilisateur ne supprime pas) Seul l'origine actuel (protocole, domaine, port) Non Stockage des préférences utilisateur, données d'état de l'application
sessionStorage 5-10 Mo Jusqu'à la fermeture de l'onglet/fenêtre du navigateur Seul l'origine actuel (protocole, domaine, port) Non Stockage temporaire des données de la session utilisateur

Cookies:

  • Envoyés avec chaque requête HTTP au serveur, ce qui peut augmenter le trafic.
  • Fonction principale : identification de l'utilisateur (cookies de session), mémorisation des préférences, suivi des actions de l'utilisateur.
  • Disponibles côté client (JavaScript) et côté serveur.
  • Peuvent être limités par domaine et chemin.
  • Considérés comme moins sécurisés pour stocker des données sensibles en raison de leur envoi automatique au serveur.

localStorage:

  • Les données sont stockées localement dans le navigateur de l'utilisateur.
  • Utilisé pour le stockage permanent de données qui ne nécessitent pas d'être envoyées au serveur à chaque requête.
  • Dispose d'une API JavaScript simple.
  • Les données sont stockées sous forme de paires clé-valeur.
  • Non accessible depuis d'autres origines.
// Définir une valeur
localStorage.setItem('username', 'john.doe');

// Récupérer une valeur
let username = localStorage.getItem('username');

// Supprimer une valeur
localStorage.removeItem('username');

// Effacer tout localStorage
localStorage.clear();

sessionStorage:

  • Semblable à localStorage, mais les données ne sont stockées que jusqu'à la fermeture de l'onglet ou de la fenêtre du navigateur.
  • Idéal pour le stockage temporaire de données liées à la session en cours (par exemple, données de formulaire, panier d'achat).
  • Dispose également d'une API JavaScript simple, similaire à localStorage.
  • Les données ne sont accessibles que dans l'origine actuelle.
// Définir une valeur
sessionStorage.setItem('sessionId', 'abc123');

// Récupérer une valeur
let sessionId = sessionStorage.getItem('sessionId');

// Supprimer une valeur
sessionStorage.removeItem('sessionId');

// Effacer tout sessionStorage
sessionStorage.clear();