localStorage frente a sessionStorage
Comprenda la duración y el ámbito de cada tipo de almacenamiento
localStorage frente a sessionStorage es una lección gratuita de HTML Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de HTML Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de HTML Academy incluye 4 lecciones en total.
Descripción general de la API Web Storage
La API Web Storage proporciona dos almacenes de pares clave-valor en el cliente: localStorage (persistente entre sesiones) y sessionStorage (se elimina al cerrar la pestaña). Ambos almacenan valores de tipo cadena y se pueden consultar de forma síncrona mediante JavaScript en el mismo origen.
Persistencia de localStorage
Los datos de localStorage persisten hasta que el código, el usuario o la eliminación de datos del navegador los borran explícitamente. Sobreviven a los reinicios del navegador, las actualizaciones de la página y el cierre de pestañas. La capacidad suele ser de 5-10 MB por origen, según el navegador.
Ámbito de sessionStorage
sessionStorage está limitado a la pestaña y la sesión actuales del navegador. Los datos sobreviven a las actualizaciones de la página dentro de la misma pestaña, pero se eliminan al cerrarla. Dos pestañas del mismo sitio tienen sessionStorage independientes y aislados; no comparten datos.
Similitud de las API
Ambos almacenamientos comparten la misma API: setItem(key, value), getItem(key), removeItem(key), clear() y la propiedad length. El mismo código funciona con ambos: basta con sustituir localStorage por sessionStorage y viceversa.
Elección entre ambos
Use localStorage para: preferencias del usuario (tema, idioma), respuestas de API en caché y la funcionalidad de recordar la sesión. Use sessionStorage para: el estado de los pasos de asistentes o formularios, un carrito de compra temporal antes del pago y datos que no deban persistir entre visitas por motivos de privacidad.
Restricción del mismo origen
Ambos almacenamientos están estrictamente limitados al origen (protocolo + host + puerto). https://example.com no puede leer el localStorage establecido por http://example.com. Este es un límite de seguridad; los subdominios también son orígenes separados, a menos que se manipule document.domain (obsoleto).
Capacidad de almacenamiento
En la mayoría de los navegadores, ambos tienen un límite de aproximadamente 5 MB por origen. Superar el límite produce un error QuotaExceededError. Para almacenar grandes cantidades de datos se necesita IndexedDB, que admite gigabytes de datos estructurados. Web Storage está pensado para pares clave-valor pequeños, no para blobs binarios ni conjuntos de datos grandes.
Naturaleza síncrona
Las lecturas y escrituras de Web Storage son síncronas y bloquean el hilo principal. En el caso de lecturas o escrituras grandes, esto puede provocar jank. Prefiera IndexedDB para operaciones frecuentes con grandes volúmenes de datos. Mantenga pequeños y poco frecuentes los valores de Web Storage para evitar problemas de rendimiento.
Patrón de serialización
Web Storage solo almacena cadenas. Serialice los objetos con JSON.stringify() y deserialícelos con JSON.parse(). Gestione los errores de análisis: try { return JSON.parse(stored) } catch { return defaultValue }. Los valores dañados o que no estén en formato JSON producen errores de análisis al almacenarse.
Almacenamiento en modo privado o de incógnito
localStorage en modo privado o de incógnito se elimina al cerrar todas las ventanas privadas, por lo que se comporta como sessionStorage. El código que dependa de localStorage para el estado de autenticación debe gestionar el caso en que localStorage se borre inesperadamente.
Restricciones de terceros
Los navegadores restringen cada vez más el acceso al almacenamiento de terceros. Un iframe de third-party.com incluido en first-party.com no puede acceder al localStorage de third-party.com. ITP de Safari y Enhanced Tracking Protection de Firefox particionan el almacenamiento; el uso como first-party no se ve afectado.
Comprobación de conocimientos
¿Cuándo se elimina sessionStorage?
Resumen
localStorage persiste indefinidamente hasta que se borra mediante código o el usuario lo elimina; sessionStorage se borra al cerrar la pestaña. Ambos son almacenes síncronos de pares clave-valor de cadenas, limitados a un origen y con una capacidad aproximada de 5 MB. Use localStorage para preferencias y estados persistentes; use sessionStorage para estados temporales limitados a la sesión que no deban sobrevivir al cierre de la pestaña.
Preguntas frecuentes
¿La lección «localStorage frente a sessionStorage» es gratis?
Sí — el texto completo de «localStorage frente a sessionStorage» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de HTML Academy, actualiza a CoddyKit PRO. El curso de HTML Academy incluye 4 lecciones en total.
¿Qué aprenderé en «localStorage frente a sessionStorage»?
Comprenda la duración y el ámbito de cada tipo de almacenamiento Practicas HTML Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar HTML Academy?
No se requiere experiencia previa. HTML Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «localStorage frente a sessionStorage»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de HTML Academy?
Sí. Cada lección de HTML Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- localStorage frente a sessionStorage
- Obtener, establecer y eliminar elementos
- Escuchar eventos de almacenamiento
- Seguridad: qué no debe almacenar nunca