Saltar al contenido
Explorar conocimiento

concepto · intermedio · 2 min de lectura

SSE — Server-Sent Events

SSE permite que el servidor envíe datos al cliente en tiempo real sobre HTTP, como un stream unidireccional donde el cliente se suscribe y el servidor publica actualizaciones.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • SSE as a concept

No cubre

  • implementation details

Supone

  • The reader understands relevant fundamentals.

Resumen

SSE —Server-Sent Events— es un estándar que permite al servidor enviar datos al cliente de forma unidireccional sobre HTTP. El cliente abre una conexión HTTP y el servidor mantiene el stream abierto, enviando eventos —texto plano— a medida que ocurren. A diferencia de WebSockets, SSE es solo servidor → cliente, pero funciona sobre HTTP estándar sin necesidad de un protocolo especial.

Importa porque es más simple que WebSockets para casos donde solo el servidor necesita pushear datos: notificaciones, actualizaciones de precios, feeds de noticias. El navegador lo soporta nativamente con la API EventSource, y la reconexión automática viene incluida en el protocolo: si la conexión se corta, el cliente se reconecta automáticamente.

Alcance y supuestos

Cubre SSE como protocolo, su API en el navegador y su contraste con WebSockets y polling. Asume familiaridad con HTTP.

Modelo mental

Una radio FM versus un teléfono. WebSocket es el teléfono: ambos hablan. SSE es la radio: la emisora transmite y vos escuchás. No podés hablarle a la radio, pero la transmisión es continua y liviana.

Uso práctico

  • ✅ Notificaciones, feeds de precios, dashboards.
  • ❌ Chats o aplicaciones donde el cliente también necesita enviar datos frecuentemente.

Ejemplo trabajado: SSE para cotizaciones de bolsa

const source = new EventSource("/stocks/stream");
source.onmessage = (event) => {
  const data = JSON.parse(event.data);
  updateUI(data.symbol, data.price);
};

El servidor mantiene el stream abierto con Content-Type: text/event-stream y envía eventos formateados. Si la conexión se corta, EventSource se reconecta automáticamente.

Evidencia

  • SSE está estandarizado en el W3C y soportado nativamente por todos los navegadores modernos.

Fuentes citadas