O HTTP simples é request/response: o cliente pede, o servidor responde, fim. Isso encaixa mal em recursos real-time (chat, dashboards ao vivo, notificações, edição colaborativa) onde o servidor precisa empurrar dados sempre que tem algo novo. As opções são formas de contornar o modelo iniciado pelo cliente do HTTP, ao longo de um espectro de complexidade:
Long-polling client ──req──▶ server ...holds... ──resp──▶ then immediately re-asks
(near-real-time over plain HTTP; one message per held request)
SSE client ──req──▶ server ═══stream of events═══▶ (one-way, server→client)
(HTTP-based, text, auto-reconnect; NO client→server on same channel)
WebSocket client ──handshake──▶ server ══full-duplex, both directions══▶
(persistent TCP; low overhead; binary or text; you build the rest)
