HTTP thường là request/response: client hỏi, server đáp, xong. Điều đó không hợp với các tính năng real-time (chat, dashboard trực tiếp, thông báo, chỉnh sửa cộng tác) nơi server cần đẩy dữ liệu bất cứ khi nào nó có cái mới. Các lựa chọn là những cách vòng qua mô hình client-khởi-xướng của HTTP, trải trên một phổ độ phức tạp:
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)
