Обычный HTTP — это запрос/ответ: клиент спрашивает, сервер отвечает, готово. Это плохо подходит для реального времени (чат, живые дашборды, уведомления, совместное редактирование), где серверу нужно проталкивать данные всякий раз, когда у него появляется что-то новое. Варианты — это способы обойти клиент-инициируемую модель HTTP, вдоль спектра сложности:
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)
