Integração e API

Server-Sent Events (SSE)

Definido no padrão HTML como EventSource, SSE mantém uma conexão HTTP aberta para que o servidor envie eventos de texto ao cliente. Diferentemente do WebSocket, o fluxo é unidirecional e usa reconexão automática, IDs de evento e content-type text/event-stream. Funciona bem para estados, logs e notificações em tempo real sobre HTTP/2. É mais simples em proxies e navegadores, mas não transporta binário nativamente nem envia comandos do cliente pelo mesmo canal.


🔀 Tipos de Comunicação
Stream
Event stream
O servidor responde com text/event-stream e envia blocos contendo campos event, data, id e retry ao longo da conexão.
Server→Client
Fluxo unidirecional
Atualizações seguem do servidor para o cliente; comandos retornam por REST, fetch ou outro canal separado.
Retry
Reconexão automática
O navegador reabre a sessão após falha e pode informar Last-Event-ID para retomar sem repetir tudo.
HTTP
HTTP padrão
Opera através de proxies, TLS e autenticação web sem o upgrade específico exigido pelo WebSocket.
✅ Vantagens Arquiteturais
Implementação enxuta
Servidores e clientes precisam lidar com texto sequencial, sem protocolo de frames bidirecionais.
Boa compatibilidade web
A API EventSource é nativa em navegadores e funciona bem para dashboards e páginas de supervisão.
Recuperação integrada
IDs e reconexão automática simplificam retomada após perda temporária de rede.
Eficiência para eventos
Evita polling frequente quando o cliente precisa apenas receber atualizações do servidor.