En el mundo de la ingeniería de software, Persistencia se refiere a la capacidad de los datos de sobrevivir en el tiempo, incluso si el programa se cierra, el ordenador se apaga o, en este caso, el usuario refresca la página o cierra la pestaña. ## El Gran Mapa de la Persistencia en el Navegador
Los datos viven estrictamente mientras la pestaña o ventana del navegador esté abierta. Si el usuario recarga la página, los datos se mantienen; pero si cierra la pestaña o la ventana, los datos se destruyen por completo inmediatamente. Además, los datos no se comparten entre diferentes pestañas, aunque sea el mismo sitio web.
SessionStorage.Los datos no se borran cuando se cierras la pestaña, el navegador o incluso si se apaga la computadora. Solo desaparecen si el usuario limpia manualmente el historial/caché del navegador o si el código de JavaScript los elimina explícitamente.
LocalStorage.Es el sistema de almacenamiento más avanzado y potente que incluye el navegador. A diferencia de los anteriores, no guarda texto simple en formato clave: valor, sino que es una completa base de datos no relacional orientada a objetos que permite almacenar grandes volúmenes de datos estructurados (archivos, objetos complejos, arreglos). Además, funciona de forma asíncrona para no congelar la interfaz de la página. Está diseñada para aplicaciones web complejas que necesitan funcionar sin internet (Offline) o que manejan miles de registros y archivos pesados.
IndexedDB.IndexedDB es la joya de la corona dentro de la Persistencia en el Navegador. Es la única que rompe la barrera de los textos simples de pocos megabytes para darte el poder de una base de datos real.
A diferencia de las cookies, los datos guardados con Session Storage, Local Storage o IndexedDB nunca se envían al servidor de forma automática y se manejan puramente a través de JavaScript en el navegador.
Este tipo de persistencia se maneja con cookies las cuales son el método de almacenamiento más antiguo de la web. Las cookies son pequeños fragmentos de texto que el navegador guarda y, aquí está su característica clave, se envían automáticamente al servidor en cada petición HTTP que realizas a ese sitio web. Tienen fecha de caducidad obligatoria.
document.cookie).| Característica | Cookies | Local Storage | Session Storage | IndexedDB |
|---|---|---|---|---|
| Capacidad | ~4 KB | ~5 MB | ~5 MB | Casi ilimitada |
| Persistencia | Configurable (Expira) | Permanente | Al cerrar la pestaña | Permanente |
| ¿Viaja al Servidor? | Sí (En cada petición) | No | No | No |
| Tipo de Datos | Solo Texto | Solo Texto | Solo Texto | Objetos, Archivos, etc. |
| Complejidad | Baja | Muy Baja | Muy Baja | Alta (Asíncrona) |