Cómo funciona
SSE (Server-Sent Events) es un estándar HTTP en el que el servidor mantiene una conexión abierta y envía mensajes al cliente a medida que se generan. El cliente usa la API EventSource del navegador (o lee el stream en otros lenguajes) y recibe eventos en tiempo real.
A diferencia de WebSocket, que es bidireccional, SSE es unidireccional: solo el servidor envía. Esto simplifica la implementación y funciona sobre HTTP normal, pasando por proxies y firewalls con menos problemas.
Ejemplo práctico
Un servidor envía eventos SSE así:
curl -N https://api.exemplo.com/stream \
-H "Accept: text/event-stream"La respuesta llega en bloques con el prefijo data::
data: {"token": "Olá"}
data: {"token": " mundo"}
data: [DONE]El cliente lee cada línea y actualiza la interfaz. Las APIs de chat (OpenAI, Anthropic) usan SSE para el streaming de respuestas.
Para qué sirve
SSE sirve para casos en los que el servidor necesita enviar datos al cliente de forma continua: streaming de respuestas de modelos de IA, notificaciones, logs en tiempo real y progreso de tareas largas. Es la base técnica del streaming de respuesta en muchos productos de IA, por ser simple y compatible con HTTP.