Alcance de la sesión Almacenamiento y almacenamiento local

105

Leí algo de documentación sobre sessionStorage y localStorage, pero no entiendo cuál es el alcance: ¿el dominio, una página específica?

Por ejemplo, si tengo las siguientes páginas:

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

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

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

Y si en cada una de las páginas anteriores ejecuto (con idvalue siendo el valor en la cadena de consulta):

localStorage.setItem('ID',idvalue);

¿Terminaré con 3 valores diferentes almacenados, o los valores se sobrescribirán entre sí?

Christophe
fuente

Respuestas:

87

Los valores se van a sobrescribir entre sí. Cada par clave-nombre es único para un protocolo y dominio, independientemente de las rutas.

El dominio afectado se puede cambiar a través de la document.domainpropiedad.

  • sub.example.com-> example.comes posible (subdominio)
  • sub.example.com-> other.example.comno es posible
Rob W
fuente
¡Gracias! ¿Tiene una referencia para recomendar que explique localStorage en detalle?
Christophe
1
bueno, incluso después de leer la página de MDN todavía no encuentro la respuesta a mi pregunta ... De todos modos, ¡gracias de nuevo!
Christophe
1
@Christophe Hace un tiempo verifiqué mis declaraciones al ver la base de datos sqlite (3) llamada webappsstore.sqliteen mi directorio de perfil de Firefox, usando query SELECT scope FROM webappsstore2;. El resultado es la inversa del dominio, seguido por el protocolo no invertida, y bastado con el puerto, por ejemplo: gro.allizom.snodda.secivres.:https:443. Como puede ver, no se menciona ningún camino.
Rob W
Aquí está la documentación de la document.domainAPI mencionada: html.spec.whatwg.org/multipage/…
mltsy
149

Almacenamiento de sesiones:

  1. Los valores persisten solo mientras la ventana o pestaña en la que se almacenaron.

  2. Los valores solo son visibles dentro de la ventana o pestaña que los creó.

Almacenamiento local:

  1. Los valores persisten durante la vida útil de la ventana y el navegador.

  2. Los valores se comparten en todas las ventanas o pestañas que se ejecutan en el mismo origen.

Por lo tanto, al leer y comprender esto, cada par clave-valor es único para cada dominio, porque el almacenamiento local conserva los valores en la ventana o pestaña.

Talha
fuente
3
Gracias. ¿Podría compartir el enlace a esta referencia?
Christophe
3
El enlace de arriba ahora está Desactivado, este es otro gran recurso: sitepoint.com/an-overview-of-the-web-storage-api
chrisjlee
La conclusión puede ser correcta, pero no el razonamiento. Incluso si el almacenamiento fuera por página, aún podría persistir en ventanas / pestañas.
pirocrastia