Cookies y Sesiones

Descubre el secreto detrás de las aplicaciones web que tienen "memoria". Aprende cómo funcionan las cookies y sesiones de forma simple e intuitiva.

8 min de lectura
Nivel básico
Matías Beltramone
06 Oct 2025
1

El superpoder de la web: La memoria

¿Cómo me recuerda la web?

Instagram sabe quién eres • Amazon recuerda tu carrito • Gmail no te pide login cada vez

Hasta ahora, hemos visto que cada vez que un cliente le pide algo a un servidor, es como si fuera una conversación nueva y sin historial. Pero, ¿cómo es que páginas como Instagram o Amazon saben quién eres y qué hiciste la última vez que los visitaste?

La respuesta es que las aplicaciones web tienen memoria. Este superpoder es lo que nos permite tener una experiencia personalizada. Las dos herramientas principales para lograr esto son las Cookies y las Sesiones.

Por qué necesitamos memoria en la web

HTTP es un protocolo "sin estado" (stateless). Esto significa que cada petición es independiente - el servidor no recuerda quién eres entre una petición y otra. ¡Imagínate tener que iniciar sesión en cada clic!

2

La magia de las Cookies

🍪

¿Qué es una Cookie?

Una Cookie es como una pequeña "nota" o un mensaje que el servidor le deja a tu navegador.

Analogía: La panadería que te recuerda

Piensa que entras a tu panadería favorita. El panadero (el servidor) te conoce y sabe que siempre pides un café con leche. Para no tener que recordarlo, te da un pequeño post-it con tu nombre y tu pedido.

La próxima vez que entres, le das el post-it y él ya sabe qué quieres. ¡Eso es exactamente una cookie!

Las cookies son perfectas para recordar cosas sencillas como tu nombre de usuario, el idioma de la página o si ya aceptaste los términos y condiciones.

¿Cómo funcionan las cookies?

El proceso paso a paso:

1
Primera visita: El servidor te envía una respuesta con una pequeña cookie.
2
Tu navegador guarda la cookie: Es un archivo de texto minúsculo que se queda en tu computadora.
3
Próximas visitas: Tu navegador envía la cookie de vuelta al servidor junto con tu petición.
4
Reconocimiento: El servidor "lee" la nota y te reconoce automáticamente.

Resultado: ¡La web te recuerda! Tu idioma, preferencias básicas y configuraciones se mantienen entre visitas.

3

La seguridad de las Sesiones

🔐

¿Qué es una Sesión?

Las Sesiones son una forma más segura de guardar información. El servidor no le da la información a tu navegador, sino que la guarda en su propia "libreta de contactos".

Analogía: El restaurante con tickets numerados

Ahora entras a un restaurante más grande. En lugar de darte el post-it, el mesero (el servidor) te da un pequeño ticket con un número.

El mesero apunta en su libreta de notas que el número 42 corresponde a "El cliente que pidió la pasta y una bebida".

Cuando necesitas algo más, le das tu ticket 42 y el mesero mira en su libreta para saber quién eres y qué has hecho hasta ahora.

¿Cómo funcionan las sesiones?

El proceso paso a paso:

1
Inicio de sesión: El servidor crea una "sesión" para ti y la guarda internamente.
2
Te envía una clave: Te da una clave única (como el ticket 42), que se guarda en una cookie temporal en tu navegador.
3
En cada petición: Tu navegador envía esa clave al servidor.
4
Búsqueda en la libreta: El servidor usa la clave para encontrar tu sesión y saber quién eres y qué estás haciendo.

Ventaja clave: Las sesiones son ideales para guardar información sensible, como los productos en tu carrito de compras o si has iniciado sesión en tu cuenta.

4

Cookies vs Sesiones: ¿Cuándo usar cada una?

🍪 Cookies

📍 Dónde: En tu navegador (tu computadora)
💾 Qué: Información no sensible
🎯 Para: Recordarte entre visitas

🔐 Sesiones

📍 Dónde: En el servidor
💾 Qué: Información sensible
🎯 Para: Mantener estado durante la visita
Característica Cookies Sesiones
Ubicación En tu navegador En el servidor
Seguridad Menor (visible para el usuario) Mayor (oculta en el servidor)
Duración Puede persistir días/meses Termina al cerrar navegador
Tamaño límite ~4KB Ilimitado (depende del servidor)
5

Casos de uso en el mundo real

🍪 Perfectas para Cookies

  • 🌍 Recordar el idioma preferido
  • 🎨 Tema oscuro/claro
  • 📋 Aceptación de cookies
  • 👤 Nombre de usuario (no sensible)
  • 📊 Preferencias de la interfaz

🔐 Perfectas para Sesiones

  • 🔑 Estado de login/autenticación
  • 🛒 Carrito de compras
  • 📝 Formularios en múltiples pasos
  • 🎮 Progreso en juegos online
  • 💳 Datos de transacciones

💡 Tip profesional

En la práctica, muchas aplicaciones usan ambas: cookies para preferencias básicas que persisten y sesiones para datos sensibles durante la visita activa. ¡Son complementarias, no competidoras!

6

Vamos a verlo en acción

La mejor forma de entender las cookies es viéndolas funcionar. Vamos a crear un ejemplo súper simple que puedes probar ahora mismo.

📋 Ejemplo práctico: Cookie de saludo personalizado

Vamos a crear una página que recuerde tu nombre usando cookies. La primera vez preguntará tu nombre, ¡las siguientes te saludará automáticamente!

Código JavaScript para manejar cookies:

// Función para crear una cookie
function setCookie(name, value, days) {
    let expires = "";
    if (days) {
        const date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

// Función para leer una cookie
function getCookie(name) {
    const cookies = document.cookie.split(';');
    for (let cookie of cookies) {
        const [cookieName, cookieValue] = cookie.trim().split('=');
        if (cookieName === name) {
            return cookieValue;
        }
    }
    return null;
}

// Lógica de nuestro saludo
window.onload = function() {
    const userName = getCookie('userName');

    if (userName) {
        // Ya tenemos el nombre guardado
        document.getElementById('greeting').innerText =
            `¡Hola de nuevo, ${userName}! 👋`;
    } else {
        // Primera visita, preguntamos el nombre
        const name = prompt('¡Hola! ¿Cuál es tu nombre?');
        if (name) {
            setCookie('userName', name, 30); // Guardar por 30 días
            document.getElementById('greeting').innerText =
                `¡Hola ${name}! Te recordaré la próxima vez 😊`;
        }
    }
};

Lo que está pasando paso a paso:

1
Primera visita: getCookie('userName') devuelve null porque no existe la cookie.
2
Preguntamos tu nombre: Usamos prompt() para pedirte el nombre.
3
Guardamos la cookie: setCookie('userName', name, 30) crea una cookie que dura 30 días.
4
Próximas visitas: getCookie('userName') encuentra la cookie y te saluda por tu nombre.

🎯 Qué aprendemos de este ejemplo

  • • Las cookies son simples pares nombre=valor
  • • Podemos configurar cuándo expiran (30 días en nuestro caso)
  • • El navegador las envía automáticamente en cada petición
  • • JavaScript puede crear y leer cookies fácilmente
7

Debugging: ¿Cómo ver las cookies?

Como desarrollador, necesitas poder ver las cookies en acción. Las herramientas de desarrollo del navegador son tu mejor amigo para esto.

🔍

DevTools: Tu laboratorio de cookies

Guía paso a paso para ver cookies en Chrome:

1
Abre DevTools: Presiona F12 o clic derecho → "Inspeccionar"
2
Ve a Application: Busca la pestaña "Application" en DevTools
3
Encuentra Cookies: En el panel izquierdo, expande "Cookies" y selecciona tu dominio
4
¡Explora! Verás todas las cookies: nombre, valor, dominio, path, expiración

🕵️ En la pestaña Application

  • • Ver todas las cookies del sitio
  • • Editar valores en tiempo real
  • • Eliminar cookies específicas
  • • Ver fechas de expiración
  • • Flags de seguridad (HttpOnly, Secure)

🌐 En la pestaña Network

  • • Ver cookies enviadas en requests
  • • Ver Set-Cookie headers en responses
  • • Analizar el intercambio HTTP completo
  • • Debugging de problemas de cookies
  • • Timing de requests con cookies

💡 Tips para debugging

🧹 Limpieza rápida: En Application, clic derecho en "Cookies" → "Clear" para borrar todas las cookies del sitio.

🔄 Testing: Borra cookies entre tests para simular usuarios nuevos.

📱 Modo incógnito: Perfecto para probar sin cookies existentes.

8

En el mundo real: Casos de estudio

Vamos a analizar cómo sitios famosos que usas todos los días implementan cookies y sesiones. ¡Prepárate para algunos "Aha moments"!

📘

Facebook: El maestro del "Remember Me"

🍪 Cookies que usa:

  • c_user - Tu ID de usuario encriptado
  • locale - Tu idioma preferido (es_ES, en_US, etc.)
  • datr - Identificador del navegador para seguridad

🔐 Sesiones que maneja: Estado de login, configuraciones de privacidad, feed personalizado.

🎯 Por qué funciona: Cookies persisten tu login básico, sesiones manejan datos sensibles como mensajes.

📦

Amazon: El carrito que nunca se olvida

🍪 Cookies que usa:

  • session-id - Tu sesión de compras única
  • ubid-main - Identificador único del navegador
  • lc-main - Tu país y configuración local

🛒 El truco del carrito: Amazon guarda tu carrito en AMBOS - cookies (para persistencia) y sesiones (para seguridad).

🎯 Por qué es genial: Puedes cerrar el navegador, volver días después, ¡y tu carrito sigue ahí!

📺

Netflix: "¿Sigues ahí?"

🍪 Cookies que usa:

  • NetflixId - Tu identificador único
  • SecureNetflixId - Versión encriptada para seguridad
  • nfvdid - ID del dispositivo de video

🎬 Sesiones inteligentes: Progreso de reproducción, recomendaciones en tiempo real, configuraciones de subtítulos.

🎯 La magia: Cookies te mantienen logueado, sesiones rastrean exactamente dónde paraste cada capítulo.

🔬 Experimento: Analiza tus sitios favoritos

¡Hora de convertirte en detective de cookies! Abre DevTools en tu sitio favorito:

1. Ve a Application → Cookies

2. Mira cuántas cookies hay (¡te vas a sorprender!)

3. Identifica patrones: sesiones temporales vs cookies de larga duración

4. Borra algunas y ve qué pasa 😄

🌟 El patrón que todos usan

¿Notaste el patrón? Todos los sitios grandes usan la misma estrategia:

🍪 Cookies para persistencia:
Login básico, preferencias, identificadores que duran semanas/meses
🔐 Sesiones para lo importante:
Datos sensibles, estado actual, información que cambia constantemente

🎯 Para llevarse a casa

Entender la diferencia entre cookies y sesiones es el primer paso para construir aplicaciones web que no solo se vean bien, sino que también sean inteligentes y personalizadas para cada usuario.

Estas tecnologías son la base de toda la experiencia moderna de navegación - desde recordar tus preferencias hasta mantener tu carrito de compras seguro.

Ahora que sabes cómo funcionan y cómo debuggearlas, ¡estás listo para crear experiencias web que realmente recuerden a tus usuarios!

📚

¿Terminaste de leer?

Marca este tutorial como completado para llevar un seguimiento de tu progreso en el roadmap.