HTTP ya kawaida ni request/response: client huuliza, server hujibu, imekwisha. Hilo halifai kwa vipengele vya real-time (chat, dashboards za moja kwa moja, notifications, uhariri wa ushirikiano) ambapo server unahitaji kusukuma data wakati wowote ina kitu kipya. Chaguzi ni njia za kuzunguka modeli ya HTTP inayoanzishwa na client, kwenye wigo wa ugumu:
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)
