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 | Sí | Sí | 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();