REST (Representational State Transfer)
Ein Architekturstil für Web-APIs, der auf HTTP-Methoden und Ressourcen basiert – der De-facto-Standard für die meisten Web-Schnittstellen und KI-APIs.
Ein Kommunikationsprotokoll für bidirektionale Echtzeit-Verbindungen zwischen Client und Server – im Gegensatz zu HTTP bleibt die Verbindung dauerhaft offen.
WebSockets lösen ein fundamentales Problem von HTTP: Bei HTTP muss der Client immer zuerst fragen, bevor der Server antworten kann. Mit WebSockets wird eine dauerhafte Verbindung aufgebaut, über die beide Seiten jederzeit Daten senden können.
HTTP vs. WebSocket:
HTTP (Request-Response):
Client → Server: "Gibt es neue Nachrichten?"
Server → Client: "Nein."
Client → Server: "Gibt es neue Nachrichten?"
Server → Client: "Ja, hier!"
WebSocket (Bidirektional):
Client ↔ Server: Verbindung offen
Server → Client: "Neue Nachricht!" (sofort, ohne Anfrage)
WebSockets starten als HTTP-Request mit einem Upgrade-Header:
Upgrade: websocket101 Switching ProtocolsModerne LLM-APIs nutzen WebSockets oder Server-Sent Events (SSE) für Token-Streaming – so sieht der Nutzer die Antwort Wort für Wort entstehen, statt auf die komplette Antwort warten zu müssen.
HTTP ist wie Briefe schreiben: Du schickst eine Anfrage und wartest auf Antwort. WebSockets sind wie ein Telefonat – die Leitung bleibt offen und beide Seiten können jederzeit sprechen.
Bidirektionale Kommunikation: Server kann aktiv Daten an den Client senden (Push)
Persistente Verbindung: Kein wiederholter Verbindungsaufbau nötig (weniger Overhead)
Ideal für Echtzeit-Anwendungen: Chat, Live-Dashboards, Multiplayer-Games
Chat-Anwendungen
Nachrichten in Echtzeit senden und empfangen ohne Polling
Live-Dashboards
Metriken und Daten in Echtzeit aktualisieren (Monitoring, Trading)
Collaborative Editing
Mehrere Nutzer bearbeiten gleichzeitig ein Dokument (Google Docs-Prinzip)
KI-Streaming
Token-für-Token-Ausgabe von LLMs in Echtzeit an den Client streamen
WebSockets eignen sich wenn der Server aktiv Daten senden muss (Push) oder bei häufigen, kleinen Updates. Für klassische CRUD-Operationen ist REST besser geeignet.
Ja, über wss:// (WebSocket Secure) wird die Verbindung TLS-verschlüsselt – analog zu HTTPS bei HTTP.
WebSockets ermöglichen eine bidirektionale Kommunikation, während HTTP-Anfragen unidirektional sind. Bei WebSockets bleibt die Verbindung offen, sodass der Server Daten an den Client senden kann, ohne dass der Client eine Anfrage stellen muss.
WebSockets sind ideal für Anwendungen, die Echtzeitkommunikation erfordern, wie z.B. Online-Spiele, Chat-Anwendungen oder Echtzeit-Datenübertragungen. Sie ermöglichen eine schnellere und effizientere Interaktion zwischen Client und Server.