Qué es session storage y en qué se diferencia de local storage

Session storage guarda datos en el navegador mientras dura la sesión de una pestaña. Descubre cómo funciona y cómo se compara con local storage.

Borrador

Session storage guarda datos en el navegador solo mientras una pestaña sigue abierta. Descubre cómo funciona, en qué se diferencia de local storage y para qué lo usan las webs.

¿Y si una web pudiera recordar justo lo necesario para que tu visita fuera fluida, sin conservar nada cuando te vas? Sin datos que sobran, sin preferencias guardadas, sin nada que se quede. Solo la información adecuada en el momento adecuado, y luego desaparece. Esa es la idea de session storage, y es más útil de lo que parece a primera vista.

Si ya has leído el capítulo sobre local storage, sabes que mantiene los datos incluso después de cerrar el navegador. Session storage hace lo contrario. Está diseñado para ser temporal, y eso no es una limitación. Es una característica deliberada.

¿Qué es session storage?

Session storage es un tipo de almacenamiento del navegador que guarda datos durante la sesión de una pestaña del navegador. Mientras la pestaña siga abierta, los datos están disponibles. En el momento en que el visitante cierra esa pestaña, session storage se borra automáticamente. Si abres la misma web en una pestaña nueva, session storage empieza de cero, sin nada dentro.

Igual que local storage, session storage funciona como un almacén de pares clave-valor. Las webs escriben datos con una etiqueta y un valor, y los recuperan buscando la etiqueta. La diferencia está solo en cuánto duran los datos. Local storage persiste indefinidamente. Session storage vive y muere con la pestaña.

¿En qué se diferencia session storage de local storage?

La diferencia clave es la persistencia. Los datos de local storage permanecen en el navegador hasta que se borran a mano. Los datos de session storage desaparecen en cuanto se cierra la pestaña. Esto hace que sirvan para situaciones distintas.

Session storage también es específico de cada pestaña. Si un visitante tiene la misma web abierta en dos pestañas distintas, cada pestaña tiene su propio session storage. No comparten datos entre ellas. Local storage, en cambio, se comparte entre todas las pestañas de la misma web en el mismo navegador.

¿Para qué usan session storage las webs?

Seguir el progreso dentro de una sesión

Los formularios de varios pasos y los procesos de compra suelen usar session storage para guardar el progreso mientras el visitante pasa de un paso al siguiente. Si vuelve a un paso anterior, sus respuestas siguen ahí. Cuando la sesión termina, esos datos temporales desaparecen, que es justo lo que quieres en algo como un proceso de compra.

Estado temporal de la interfaz

Si una barra lateral está abierta, qué pestaña está seleccionada o cuánto se ha desplazado un visitante en una lista larga: son estados temporales que tiene sentido mantener durante una visita, pero que no valen nada cuando el visitante se va. Session storage lo gestiona con limpieza.

Mantener efímero el contexto sensible

Para todo lo que se relaciona con el contexto actual de un usuario durante una visita, session storage es una opción más segura que local storage, porque los datos se limpian solos. No hay riesgo de que contexto sensible se quede en el navegador cuando termina la visita.

Cuándo usar session storage y cuándo local storage

La elección se reduce a una pregunta: ¿estos datos tienen que sobrevivir a la sesión actual de la pestaña? Si es así, local storage es la herramienta adecuada. Si los datos solo son relevantes durante la visita actual y no deben mantenerse, session storage encaja mejor.

Para los datos sensibles, ninguno de los dos es adecuado. Las contraseñas, los datos de pago y la información personal deben tratarse siempre en el servidor con un cifrado SSL adecuado, y nunca guardarse en el navegador. Para ver el panorama completo de todas las opciones de almacenamiento del navegador y cómo se comparan, lee tipos de almacenamiento del navegador.

Preguntas frecuentes

¿Session storage se borra al cerrar el navegador o solo la pestaña?

Session storage se borra al cerrar la pestaña concreta. Si un visitante tiene varias pestañas abiertas y cierra una, solo se borra el session storage de esa pestaña. Las demás pestañas conservan el suyo. Si se cierra todo el navegador, se borra todo el session storage de todas las pestañas, porque en ese momento terminan todas las sesiones activas.

¿Pueden dos pestañas de la misma web compartir session storage?

No. Session storage está aislado por pestaña. Si la misma web está abierta en dos pestañas distintas, cada una tiene su propio session storage, que la otra no puede leer ni escribir. Esto es distinto de local storage, que se comparte entre todas las pestañas de la misma web en el mismo navegador.

¿Es session storage más seguro que local storage?

Es algo mejor para contexto sensible, porque los datos se borran automáticamente al cerrar la pestaña. Pero sigue siendo accesible para cualquier script que se ejecute en la página, así que no es adecuado para contraseñas, datos personales ni datos de pago. La limpieza automática reduce el tiempo de exposición, pero se aplican las mismas reglas básicas de seguridad. Los datos sensibles deben estar en el servidor, no en el navegador.

¿Qué pasa con session storage si el visitante actualiza la página?

Actualizar la página no borra session storage. Los datos se mantienen tras recargar la página mientras la pestaña siga abierta. Esto hace que session storage sea útil para conservar el estado entre recargas dentro de la misma visita, como mantener un formulario a medio rellenar, sin que esos datos pasen a la visita siguiente cuando el visitante se va.

¿Cuántos datos puede guardar session storage?

Session storage tiene más o menos la misma capacidad que local storage, entre 5 y 10 megabytes por pestaña según el navegador. Es más que suficiente para estados temporales de la interfaz y datos de formularios en curso. Para conjuntos de datos o archivos más grandes, IndexedDB es más adecuado.

¿Tengo que configurar session storage en mi web?

No, si usas un creador de webs. La plataforma usa session storage internamente para cosas como gestionar el estado de los formularios y las preferencias durante la sesión. Funciona en segundo plano sin que tengas que configurar nada. Con el creador de webs de WEMASY, la plataforma gestiona automáticamente todas las decisiones sobre el almacenamiento del navegador, así tus visitantes tienen una experiencia fluida sin que tengas que configurar nada.

Ponlo en práctica
en tu propia web.

Empieza gratis con WEMASY y crea tu web en pocos minutos.