El HTTP normal es petición/respuesta: el cliente pregunta, el servidor responde, listo. Eso encaja mal con funcionalidades en tiempo real (chat, dashboards en vivo, notificaciones, edición colaborativa) donde el servidor necesita empujar datos cada vez que tiene algo nuevo. Las opciones son formas de sortear el modelo iniciado por el cliente de HTTP, a lo largo de un espectro de complejidad:
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)
