HTTP-ja e thjeshtë është request/response: klienti pyet, serveri përgjigjet, mbaroi. Kjo nuk përshtatet mirë me veçoritë real-time (chat, dashboard të drejtpërdrejtë, njoftime, editim bashkëpunues) ku serveri duhet të shtyjë të dhëna sa herë që ka diçka të re. Opsionet janë mënyra për të anashkaluar modelin e HTTP-së të nisur-nga-klienti, përgjatë një spektri kompleksiteti:
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)
