Sobes.tech
Junior

Explica la diferencia entre cookies, sessionStorage y localStorage.

sobes.tech AI

Respuesta de la IA

Las cookies almacenan pequeñas cantidades de información de texto (hasta 4 KB) en el lado del cliente, se envían con cada solicitud HTTP al dominio que las estableció. Pueden tener una fecha de expiración. Se utilizan para autorización, seguimiento de usuarios, almacenamiento de preferencias del usuario.

localStorage almacena datos sin fecha de caducidad (hasta que el usuario borre el almacenamiento o cierre el navegador) en el lado del cliente (hasta 5-10 MB dependiendo del navegador). Los datos están disponibles entre sesiones del navegador, pero solo para scripts del mismo origen (dominio, protocolo, puerto). No se envían automáticamente con las solicitudes HTTP. Se usa para almacenamiento a largo plazo y configuración de la aplicación.

sessionStorage almacena datos durante una sesión del navegador (mientras la pestaña o ventana estén abiertas). Los datos se eliminan al cerrar la pestaña o ventana. La capacidad de almacenamiento es similar a localStorage (hasta 5-10 MB). Los datos también solo están disponibles para scripts del mismo origen. No se envían automáticamente con las solicitudes HTTP. Se usa para almacenamiento temporal de datos específicos de la sesión actual.

Característica Cookies localStorage sessionStorage
Tiempo de almacenamiento Tiempo de expiración o cierre del navegador Hasta que el usuario o la aplicación los eliminen Mientras la pestaña o ventana estén abiertas
Tamaño de datos Hasta 4 KB Hasta 5-10 MB Hasta 5-10 MB
Accesibilidad Se envían con solicitudes HTTP al dominio Solo a través de JavaScript del mismo origen Solo a través de JavaScript del mismo origen
Accesibilidad entre pestañas No (para diferentes pestañas)
Propósito Autenticación, seguimiento, preferencias Almacenamiento a largo plazo, configuración Almacenamiento temporal en la sesión actual

Ejemplo de uso de localStorage:

// Guardar datos
localStorage.setItem('userName', 'Alice');

// Obtener datos
const userName = localStorage.getItem('userName');
console.log(userName); // Salida: Alice

// Eliminar datos
// localStorage.removeItem('userName');

// Limpiar todo el almacenamiento
// localStorage.clear();

Ejemplo de uso de sessionStorage:

// Guardar datos
sessionStorage.setItem('orderId', '12345');

// Obtener datos
const orderId = sessionStorage.getItem('orderId');
console.log(orderId); // Salida: 12345

// Eliminar datos
// sessionStorage.removeItem('orderId');

// Limpiar todo el almacenamiento
// sessionStorage.clear();