Long Polling ist eine Technik, mit der Webanwendungen ohne WebSockets nahezu in Echtzeit benachrichtigt werden können – ein Trick, der auf dem normalen HTTP-Request-Response-Modell aufbaut. Der Client stellt eine Anfrage, der Server hält sie jedoch offen, statt sofort zu antworten. Erst wenn neue Daten vorliegen (oder ein Timeout abläuft), schickt er die Antwort – der Client verarbeitet sie und stellt sofort die nächste Anfrage. So entsteht eine Kette fast augenblicklicher Benachrichtigungen.

Ablauf im Detail

  1. Der Client sendet eine normale HTTP-Anfrage an den Server.
  2. Der Server blockiert die Antwort, typischerweise 30 bis 60 Sekunden, und wartet auf neue Daten.
  3. Treffen Daten ein, antwortet der Server sofort; sonst antwortet er beim Timeout (leer).
  4. Der Client verarbeitet die Antwort und beginnt sofort mit einer neuen Anfrage.

Wo Long Polling zum Einsatz kam

Vor der breiten WebSocket-Unterstützung war Long Polling der Standard für Chat-Nachrichten, Benachrichtigungen und Live-Updates – viele ältere Anwendungen und Protokolle wie XMPP (BOSH) nutzen es bis heute. Der Vorteil: Es funktioniert über jede HTTP-Infrastruktur, durch Proxys und Firewalls hindurch, ohne spezielle Protokolle oder Ports.

Grenzen und Alternativen

Der Preis sind ständig neu aufgebaute Verbindungen mit Overhead: jede Nachricht kostet einen vollständigen Request-Response-Zyklus inklusive Headern, und bei vielen Clients summieren sich offen gehaltene Server-Verbindungen zu hoher Last. Moderne Alternativen sind Server-Sent Events für einbahnige Server-Streams über eine einzige HTTP-Verbindung und WebSockets für vollduplexe Echtzeitkommunikation. In Service-zu-Service-Szenarien übernimmt zunehmend gRPC mit seinen nativen Streaming-Modellen diese Rolle.

Verwandte Grundlagen: AJAX, Webhook, HTTP.