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í?

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

¡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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.