Portée de la session Stockage et stockage local

105

J'ai lu de la documentation sur sessionStorage et localStorage, mais je ne comprends pas quelle est la portée: le domaine, une page spécifique?

Par exemple, si j'ai les pages suivantes:

http://example.com/products.aspx?productID=1

http://example.com/products.aspx?productID=2

http://example.com/services.aspx?serviceID=3

Et si sur chacune des pages ci-dessus je cours (avec idvalue étant la valeur dans la chaîne de requête):

localStorage.setItem('ID',idvalue);

Vais-je me retrouver avec 3 valeurs différentes stockées, ou les valeurs vont-elles se remplacer?

Christophe
la source

Réponses:

87

Les valeurs vont se remplacer. Chaque paire clé-nom est unique pour un protocole et un domaine, quels que soient les chemins.

Le domaine concerné peut être modifié via la document.domainpropriété.

  • sub.example.com-> example.comest possible (sous-domaine)
  • sub.example.com-> other.example.comn'est pas possible
Rob W
la source
Merci! Auriez-vous une référence à recommander, qui explique en détail localStorage?
Christophe
2
@Christophe MDN: Stockage et W3c: Stockage Web .
Rob W
1
eh bien, même après avoir lu la page MDN je ne trouve toujours pas la réponse à ma question ... Bref, merci encore!
Christophe
1
@Christophe J'ai vérifié mes déclarations il y a quelque temps en consultant la base de données sqlite (3) appelée webappsstore.sqlitedans mon répertoire de profil Firefox, à l'aide de query SELECT scope FROM webappsstore2;. Le résultat est l'inverse de ce nom de domaine, suivi du protocole non-inversé, et suffi avec l'orifice, par exemple: gro.allizom.snodda.secivres.:https:443. Comme vous pouvez le voir, il n'y a aucune mention de chemin.
Rob W
Voici la documentation de l' document.domainAPI mentionnée: html.spec.whatwg.org/multipage/…
mltsy
149

Stockage de session:

  1. Les valeurs ne persistent que tant que la fenêtre ou l'onglet dans lequel elles sont stockées.

  2. Les valeurs ne sont visibles que dans la fenêtre ou l'onglet qui les a créées.

Stockage local:

  1. Les valeurs conservent la durée de vie des fenêtres et des navigateurs.

  2. Les valeurs sont partagées dans chaque fenêtre ou onglet fonctionnant à la même origine.

Ainsi, en lisant et en comprenant cela, chaque paire clé-valeur est unique pour chaque domaine, car le stockage local conserve les valeurs dans la fenêtre ou l'onglet.

Talha
la source
3
Merci. Pourriez-vous partager le lien vers cette référence?
Christophe
3
Le lien ci-dessus est maintenant obsolète, c'est une autre excellente ressource: sitepoint.com/an-overview-of-the-web-storage-api
chrisjlee
La conclusion peut être correcte, mais pas le raisonnement. Même si le stockage était par page, il pouvait toujours persister dans les fenêtres / onglets.
pyrocrastie