Definición
Asociación lógica entre puntos finales que establece y mantiene estado, contexto o identificadores durante la duración de una interacción o serie de interacciones, habilitando continuidad (p. ej., autenticación, números de secuencia, parámetros negociados) incluso cuando se transporta sobre protocolos de transporte sin estado.

Principio

Principio
Una sesión agrupa intercambios relacionados bajo identificadores o estado compartido para que los mensajes posteriores puedan interpretarse respecto al contexto previo; el estado de sesión puede mantenerse en endpoints, intermediarios o almacenes distribuidos y determina la continuidad, autorización y enlace de recursos durante la vida de la sesión.

Demostración

Demostración
Escenario ilustrativo → Una aplicación web: tras un inicio de sesión exitoso, el servidor emite un identificador de sesión almacenado en una cookie HTTP; solicitudes posteriores presentan la cookie, permitiendo al servidor recuperar el contexto del usuario y autorizar acciones sin reautenticar en cada petición. Consecuencia: la experiencia del usuario es continua y personalizada durante la sesión; el servidor debe gestionar ciclo de vida y almacenamiento de la sesión.

Aplicación incorrecta

Aplicación incorrecta
Interpretación errónea: confundir una sesión con una conexión de transporte (p. ej., asumir que sesión HTTP = conexión TCP). Por qué parece plausible: tanto sesiones como conexiones se refieren a interacciones “en curso”. Error semántico: ignorar que las sesiones pueden sobrevivir a conexiones de transporte y que la continuidad de sesión requiere gestión de estado separada (cookies, tokens, almacenes distribuidos).

Consecuencia

Consecuencia
Las sesiones permiten funciones con estado como autenticación, transacciones y personalización; introducen preocupaciones de escalado y seguridad (almacenamiento de sesiones, replicación, fijación de sesión, secuestro, TTL), e imponen obligaciones de gestión del ciclo de vida (creación, renovación, expiración, revocación).

Inversión

Inversión
Calificaciones: los diseños sin estado (credenciales basadas en tokens, JWT firmados, APIs idempotentes) evitan deliberadamente el estado en servidor para mejorar escalabilidad y simplificar distribución; las sesiones de larga duración aumentan riesgos de seguridad y vigencia y pueden estar sujetas a requisitos regulatorios o de privacidad.

Límite

Límite
Claramente dentro: una sesión HTTP autenticada representada por un almacén de sesión en servidor indexado por una cookie. Caso límite: un token portador (JWT) que codifica claims de usuario y es sin estado—funciona como sustituto de sesión pero con semánticas de revocación diferentes. Claramente fuera: una única petición no autenticada e idempotente que no lleva contexto persistente entre invocaciones.

Tensión semántica

Tensión semántica
Estado vs escalabilidad/seguridad: mantener estado de sesión facilita interacciones ricas y comodidad pero incrementa requisitos de recursos del servidor, complica escalado y replicación y amplía la superficie de ataque por robo o fijación de sesiones.

Síntesis

Síntesis
Una sesión es un mecanismo explícito para portar contexto a lo largo de múltiples interacciones; intercambia la simplicidad sin estado por continuidad y capacidad, y su uso correcto exige diseño deliberado de ciclo de vida, almacenamiento y seguridad.