Además de no ser persistente y tener un alcance solo en la ventana actual, ¿hay algún beneficio (rendimiento, acceso a datos, etc.) en el almacenamiento de sesión sobre el almacenamiento local?
Además de no ser persistente y tener un alcance solo en la ventana actual, ¿hay algún beneficio (rendimiento, acceso a datos, etc.) en el almacenamiento de sesión sobre el almacenamiento local?
Respuestas:
localStorage y sessionStorage extienden el almacenamiento . No hay diferencia entre ellos excepto por la intención de "no persistencia" de sessionStorage
.
Es decir, los datos almacenados en localStorage
persisten hasta que se eliminen explícitamente . Los cambios realizados se guardan y están disponibles para todas las visitas actuales y futuras al sitio.
Para sessionStorage
, los cambios solo están disponibles por pestaña. Los cambios realizados se guardan y están disponibles para la página actual en esa pestaña hasta que se cierra. Una vez que está cerrado, los datos almacenados se eliminan.
La única diferencia es que localStorage tiene un tiempo de vencimiento diferente, sessionStorage
solo será accesible mientras esté abierta la ventana que la creó. localStorage
dura hasta que lo elimine o el usuario lo elimine.
Digamos que usted quiere guardar un nombre de usuario y la contraseña de inicio de sesión que se desea utilizar sessionStorage
más localStorage
por razones de seguridad (es decir. Otra persona que acceda a su cuenta en un momento posterior).
Pero si desea guardar la configuración de un usuario en su máquina, probablemente lo desee localStorage
. Considerándolo todo:
localStorage
- Uso para uso a largo plazo.
sessionStorage
- Úselo cuando necesite almacenar algo que cambie o algo temporal
Pocos otros puntos que podrían ser útiles para comprender las diferencias entre el almacenamiento local y de sesión
El almacenamiento local y el almacenamiento de sesión tienen un alcance para el origen del documento, por lo que
https://mydomain.com/
http://mydomain.com/
https://mydomain.com:8080/
Todas las URL anteriores no compartirán el mismo almacenamiento. (Observe que la ruta de la página web no afecta el almacenamiento web)
El almacenamiento de sesión es diferente incluso para el documento con la misma política de origen abierta en pestañas diferentes, por lo que la misma página web abierta en dos pestañas diferentes no puede compartir el mismo almacenamiento de sesión.
Tanto el almacenamiento local como el de sesión también están definidos por proveedores de navegadores . Por lo tanto, Chrome o FF no pueden leer los datos de almacenamiento guardados por IE.
Espero que esto ayude.
La principal diferencia entre localStorage
y sessionStorage
es que sessionStorage
es única por pestaña. Si cierra la pestaña, sessionStorage
se elimina, localStorage
no lo hace. Además, no puede comunicarse entre pestañas :)
Otra diferencia sutil es que, por ejemplo, en Safari (8.0.3) localStorage
tiene un límite de 2551 k caracteres pero sessionStorage
tiene almacenamiento ilimitado
En Chrome (v43) ambos localStorage
y sessionStorage
están limitados a 5101 k caracteres (no hay diferencia entre el modo normal / incógnito)
Por tanto Firefox localStorage
y sessionStorage
están limitados a 5.120 caracteres (k hay diferencia entre el modo normal / privado)
No hay diferencia en velocidad alguna :)
También hay un problema con Mobile Safari y Mobile Chrome, Private Mode Safari y Chrome tienen un espacio máximo de 0 KB
sessionStorage
es lo mismo que localStorage
, excepto que almacena los datos para una sola sesión, y se eliminará cuando el usuario cierre la ventana del navegador que lo creó.
En cuanto al rendimiento, mis mediciones (crudas) no encontraron diferencias en 1000 escrituras y lecturas
En cuanto a la seguridad, intuitivamente parecería que localStore podría cerrarse antes que sessionStore, pero no tiene evidencia concreta, ¿tal vez alguien más lo haga?
funcional sabio, concuerde con digitalFresh arriba
El almacenamiento de la sesión y el almacenamiento local tienen el mismo comportamiento, excepto que el almacenamiento local almacenará los datos hasta que el usuario elimine el caché y las cookies y los datos de almacenamiento de la sesión se retendrán en el sistema hasta que cerremos la sesión i, e hasta que cerremos la ventana de almacenamiento de sesión creada.
La ventaja del almacenamiento de la sesión sobre el almacenamiento local, en mi opinión, es que tiene una capacidad ilimitada en Firefox y no durará más que la sesión. (Por supuesto, depende de cuál sea su objetivo).
Almacenamiento local: mantiene los datos de información del usuario sin fecha de caducidad. Estos datos no se eliminarán cuando el usuario cierre las ventanas del navegador, estarán disponibles por día, semana, mes y año.
//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
Almacenamiento de sesión: es igual que la fecha de almacenamiento local, excepto que eliminará todas las ventanas cuando un usuario web cierre las ventanas del navegador.
//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";
Leer más Haga clic
sessionStorage
mantiene un área de almacenamiento separada para cada origen dado que está disponible durante la sesión de la página (siempre que el navegador esté abierto, incluidas las recargas y restauraciones de la página)
localStorage
hace lo mismo, pero persiste incluso cuando el navegador se cierra y se vuelve a abrir.
Tomé esto de https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API