En plus d'être non persistant et limité à la fenêtre en cours, y at-il des avantages (performances, accès aux données, etc.) au stockage de session sur le stockage local?
localStorage et sessionStorage les deux extensions Storage . Il n'y a pas de différence entre eux sauf pour la "non-persistance" prévue de sessionStorage
.
C'est-à-dire que les données stockées dans localStorage
persistent jusqu'à ce qu'elles soient explicitement supprimées. Les modifications apportées sont enregistrées et disponibles pour toutes les visites actuelles et futures du site.
Pour sessionStorage
, les modifications ne sont disponibles que par fenêtre (ou par onglet dans les navigateurs tels que Chrome et Firefox). Les modifications apportées sont enregistrées et disponibles pour la page en cours, ainsi que les visites futures sur le site sur la même fenêtre. Une fois la fenêtre fermée, le stockage est supprimé.
La seule différence est que localStorage a une heure d'expiration différente, sessionStorage
ne sera accessible que pendant et par la fenêtre qui l'a créée est ouverte. localStorage
dure jusqu'à ce que vous le supprimiez ou que l'utilisateur le supprime.
Disons que vous vouliez enregistrer un nom d'utilisateur et un mot de passe que vous voudriez utiliser sessionStorage
over localStorage
pour des raisons de sécurité (c'est-à-dire une autre personne accédant à son compte ultérieurement).
Mais si vous souhaitez enregistrer les paramètres d'un utilisateur sur leur ordinateur, vous souhaiterez probablement localStorage
. En tout:
localStorage
- à utiliser pour une utilisation à long terme.sessionStorage
- à utiliser lorsque vous avez besoin de stocker quelque chose qui change ou quelque chose de temporaire
Peu d'autres points pouvant aider à comprendre les différences entre le stockage local et le stockage de session
Le stockage local et le stockage de session sont tous deux concernés par le document Origin.
https://mydomain.com/
http://mydomain.com/
https://mydomain.com:8080/
Toutes les URL ci-dessus not partagent le même stockage. (Le chemin de notification de la page Web n'affecte pas le stockage Web)
Le stockage de session est différent même si le document avec la même stratégie d'origine est ouvert dans différents onglets. Par conséquent, une même page Web ouverte dans deux onglets différents ne peut pas partagent le même stockage de session.
Le stockage local et le stockage de session sont également limités par fournisseurs du navigateur. Les données de stockage enregistrées par IE ne peuvent donc pas être lues par Chrome ou FF.
J'espère que cela t'aides.
La principale différence entre localStorage
et sessionStorage
est que sessionStorage
est unique par onglet. Si vous fermez l'onglet, la variable sessionStorage
est supprimée, ce n'est pas le cas de localStorage
. Aussi, vous ne pouvez pas communiquer entre les onglets :)
Une autre différence subtile est que, par exemple, dans Safari (8.0.3), localStorage
a une limite de 2551 k caractères mais sessionStorage
a stockage illimité
Sur Chrome (v43), localStorage
et sessionStorage
sont limités à 5101 k caractères (aucune différence entre le mode normal/privé)
Sur Firefox, localStorage
et sessionStorage
sont limités à 5120 caractères k (aucune différence entre le mode normal/incognito)
Aucune différence de vitesse que ce soit :)
Il y a aussi un problème avec Mobile Safari et Mobile Chrome. En mode privé, Safari & Chrome ont un espace maximal de 0 Ko.
sessionStorage est identique à localStorage, sauf qu'il stocke les données pour une seule session et sera supprimé lorsque l'utilisateur ferme la fenêtre du navigateur qui l'a créée
en termes de performances, mes mesures (brutes) n’ont pas révélé de différence sur 1000 écritures et lectures
du point de vue de la sécurité, il semblerait intuitivement que le localStore soit fermé avant le sessionStore, mais vous n'avez aucune preuve concrète - peut-être que quelqu'un d'autre le fait?
fonctionnel, d'accord avec DigitalFresh ci-dessus
Le stockage de session Ya et le stockage local ont le même comportement, sauf qu'un stockage local stockera les données jusqu'à ce que l'utilisateur supprime le cache et les cookies. Les données de stockage de session seront conservées dans le système jusqu'à la fermeture de la session i, e jusqu'à la fermeture. la fenêtre de stockage de session créée.
À mon avis, l’avantage du stockage de session par rapport au stockage local est qu’il a une capacité illimitée dans Firefox et qu’il ne persistera pas plus longtemps que la session. (Bien sûr, cela dépend de votre objectif.)
Stockage local: Il garde en mémoire les données de l'utilisateur sans date d'expiration. Ces données ne seront pas supprimées lorsque l'utilisateur fermera la fenêtre du navigateur. Il sera disponible par jour, par semaine, par mois et par année.
//Set the value in a local storage object
localStorage.setItem('name', myName);
//Get the value from storage object
localStorage.getItem('name');
//Delete the value from local storage object
localStorage.removeItem(name);//Delete specifice obeject from local storege
localStorage.clear();//Delete all from local storege
Session Storage: Identique à la date de stockage local, sauf qu'il supprimera toutes les fenêtres lorsque les fenêtres du navigateur sont fermées par un utilisateur Web.
//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";
Lire la suite Cliquez
sessionStorage
maintient une zone de stockage distincte pour chaque origine donnée disponible pendant la durée de la session de page (tant que le navigateur est ouvert, y compris les recharges et restaurations de pages).
localStorage
fait la même chose, mais persiste même lorsque le navigateur est fermé et rouvert.
J'ai pris ceci de https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API