¿Cuándo se borra localStorage?

112

¿Cuánto tiempo puedo esperar que los datos se mantengan en localStorage? ¿Cuánto tiempo persistirán los datos de almacenamiento local de un usuario promedio? Si el usuario no lo borra, ¿durará hasta que se vuelva a instalar el navegador?

¿Es esto consistente en todos los navegadores?

Bnicholas
fuente

Respuestas:

99

El borrador del W3C dice esto

Los agentes de usuario deben caducar los datos de las áreas de almacenamiento local solo por razones de seguridad o cuando el usuario lo solicite. Los agentes de usuario siempre deben evitar eliminar datos mientras se esté ejecutando un script que pueda acceder a esos datos.

Entonces, si los navegadores siguen la especificación, debería persistir hasta que el usuario la elimine en todos los navegadores, no he encontrado ninguno que haya eliminado en ninguno de mis proyectos.

Un buen artículo para leer también es http://ejohn.org/blog/dom-storage/

Dominic Green
fuente
"Solicitado por el usuario" = cuando el usuario borra los datos. Consulte stevesouders.com/blog/2012/09/10/clearing-browser-data para obtener información sobre la limpieza específica del navegador y cómo hacerlo.
Julien Kronegg
El almacenamiento local se puede borrar al actualizar Chrome. Esto me ha pasado dos veces en los últimos 12 meses. Si los datos son importantes, habilite y anime al usuario a descargar los datos relevantes al archivo para que pueda reinstalarlos si esto sucede.
user2677034
116

localStorage también se conoce como almacenamiento web, almacenamiento HTML5 y almacenamiento DOM (todos significan lo mismo).

localStorage es similar a sessionStorage, excepto que los datos almacenados en localStorage no tienen fecha de caducidad, mientras que los datos almacenados en sessionStorage se borran cuando finaliza la sesión de navegación (es decir, cuando la pestaña del navegador / navegador está cerrada). El almacenamiento de sesiones se usa con mucha menos frecuencia que localStorage, y existe solo dentro de la pestaña actual del navegador; incluso dos pestañas cargadas con el mismo sitio web tendrán datos de sessionStorage diferentes. Los datos de sessionStorage sobreviven a la actualización de la página, pero no cierran / abren la pestaña. Los datos de LocalStorage, por otro lado, se comparten entre todas las pestañas y ventanas del mismo origen. Los datos de LocalStorage no caducan; permanece después de reiniciar el navegador e incluso después de reiniciar el sistema operativo. Fuente

localStorage está disponible en todos los navegadores, pero la persistencia no se implementa de manera consistente. En particular, localStorage puede borrarse mediante la acción del usuario y puede borrarse inadvertidamente (¿quién pensaría que borrar todas las cookies también borra localStorage?).

En Firefox, localStorage se borra cuando se cumplen estas tres condiciones: (a) el usuario borra el historial reciente, (b) se seleccionan las cookies para borrarlas, (c) el intervalo de tiempo es "Todo"

En Chrome, localStorage se borra cuando se cumplen estas condiciones: (a) borrar datos de navegación, (b) se selecciona "cookies y otros datos del sitio", (c) el período de tiempo es "desde el principio del tiempo". En Chrome, ahora también es posible eliminar localStorage para un sitio específico .

En IE, para borrar localStorage: (a) Herramientas - Opciones de Internet, (b) pestaña General, (c) eliminar el historial de navegación al salir, (d) asegurarse de "Cookies y datos del sitio web" (o "archivos temporales de Internet y archivos del sitio web ") está seleccionado, (e) considere desmarcar" Conservar los datos del sitio web de favoritos "en la parte superior

En Safari: (a) Haga clic en Safari (b) Preferencias (c) Seleccione la pestaña Privacidad (d) Haga clic en Eliminar todos los datos del sitio web (e) Haga clic en Eliminar ahora

Opera: A pesar de los excelentes artículos sobre localStorage del sitio de Opera, todavía no he encontrado instrucciones claras (no programáticas) para los usuarios sobre cómo borrar localStorage. Si alguien lo encuentra, deje un comentario debajo de esta respuesta con un enlace de referencia.


El sitio de desarrollo de Opera tiene un excelente resumen de localStorage:

La forma actual de almacenar datos en el lado del cliente, las cookies, es un problema:

  • Tamaño bajo: las cookies generalmente tienen un tamaño máximo de alrededor de 4 KB, lo que no es muy bueno para almacenar cualquier tipo de datos complejos.

  • Es difícil para las cookies realizar un seguimiento de dos o más transacciones en el mismo sitio, lo que puede suceder en dos o más pestañas diferentes.

  • Las cookies pueden explotarse utilizando técnicas como la secuencia de comandos entre sitios, lo que resulta en violaciones de seguridad.

Otras alternativas (menos populares) a las cookies incluyen técnicas que involucran cadenas de consulta, campos de formulario ocultos, objetos compartidos locales basados ​​en flash, etc. Cada uno con su propio conjunto de problemas relacionados con la seguridad, la facilidad de uso, las restricciones de tamaño, etc. Así que hasta ahora han estado utilizando formas bastante malas de almacenar datos por parte del usuario. Necesitamos una forma mejor, que es donde entra el almacenamiento web.

Almacenamiento web

La especificación de almacenamiento web W3C se diseñó como una mejor forma de almacenar datos en el lado del cliente. Tiene dos tipos diferentes de almacenamiento: almacenamiento de sesión y almacenamiento local.

Tanto la sesión como el almacenamiento local normalmente podrán almacenar alrededor de 5 MB de datos por dominio, lo que es significativamente más que las cookies.

Recursos:

https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

https://javascript.info/localstorage

https://dev.opera.com/articles/web-storage/

http://www.quirksmode.org/html5/storage.html

http://www.ghacks.net/2015/02/05/how-to-clear-web-storage-in-your-browser-of-choice/

https://nakedsecurity.sophos.com/2014/11/05/how-to-clear-out-cookies-flash-cookies-and-local-storage/

http://www.opera.com/dragonfly/documentation/storage/

Artículo de DOMStorage sobre MDN (escrito por John Resig)

http://ejohn.org/blog/dom-storage/

cssyphus
fuente
2
Yo agregaría, realmente puede ver, modificar y eliminar estas variables localStorage en "Modo de desarrollo" (presionando F12), en la pestaña Almacenamiento.
David Tabernero M.
¿Es el mismo caso con indexDB? Es decir, ¿también se puede borrar mediante la acción del usuario?
Pylinux
En IE Además de los pasos anteriores, el usuario debe cerrar el navegador y solo él puede ver la eliminación del almacenamiento local
Kyasa Madhavi
2

El contenido en el almacenamiento local es persistente siempre que el usuario elija borrar el almacenamiento (por completo o un solo valor dentro de él)

Acerca de la coherencia en todos los navegadores, el almacenamiento local está disponible actualmente en todos los navegadores principales, incluido IE8 + (consulte http://caniuse.com/#feat=namevalue-storage )

Fabrizio Calderan
fuente
1

En Chrome, mientras realiza 'borrar datos de navegación', si elige la opción 'Cookies y otros datos de sitios y complementos', los datos de sessionStorage se borrarán.

Uday Sravan K
fuente