EMZETT.
Login

Server-Sent Events und Echtzeit im Web

Kurz: Wenn der Server dem Browser Neuigkeiten schicken soll (Chat, Kurse, Fortschrittsbalken), gibt es drei Wege: Polling, Server-Sent Events und WebSockets. Jeder passt zu anderen Aufgaben.

Polling

Der Browser fragt alle paar Sekunden nach. Einfach, funktioniert überall, aber verschwendet Anfragen und ist nie ganz aktuell. Long Polling hält die Anfrage offen, bis es etwas gibt.

Server-Sent Events (SSE)

Eine normale HTTP-Verbindung bleibt offen und der Server schickt in eine Richtung Ereignisse als Textzeilen:

const quelle = new EventSource("/api/ereignisse");
quelle.onmessage = (e) => console.log(JSON.parse(e.data));
quelle.addEventListener("fortschritt", (e) => aktualisiere(e.data));

Vorteile: sehr einfach, der Browser verbindet sich selbst neu, läuft über normales HTTP. Nachteil: nur Server → Browser, Text. Beliebt für Benachrichtigungen, Live-Ticker und das Streamen von KI-Antworten.

WebSockets

Eine dauerhafte Zwei-Wege-Verbindung. Ideal für Chats, Spiele und gemeinsames Bearbeiten, wo auch der Browser oft sendet. Aufwändiger (eigene Wiederverbindung, Nachrichtenformat) und schwerer hinter manchen Proxys.

Welche Wahl?

BedarfLösung
selten neue Daten, EinfachheitPolling
Server meldet NeuigkeitenSSE
beide Seiten senden oft, kleine VerzögerungWebSocket

Auf Serverless-Plattformen sind dauerhafte Verbindungen oft begrenzt, dann nutzt man Dienste mit Push-Kanälen. Grundlagen zur Übertragung: HTTP.

Siehe auch: Event Loop