الـ HTTP العادي هو طلب/استجابة (request/response): يسأل العميل، يجيب الخادم، انتهى. وهذا لا يناسب ميزات الزمن الحقيقي (real-time) (الدردشة، لوحات المعلومات الحيّة، الإشعارات، التحرير التشاركي) حيث يحتاج الخادم إلى دفع بيانات كلما توفّر جديد لديه. الخيارات طرقٌ للالتفاف حول نموذج 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)
