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();