Informatik Netzwerke – WebSockets und Echtzeitkommunikation
Karteikarten zum Thema „Informatik“ · 15 Karten · von atrio. Beispiele: Was ist der Hauptunterschied zwischen HTTP und WebSockets? · Wie wird eine WebSocket-…
Karten
15 KartenWas ist der Hauptunterschied zwischen HTTP und WebSockets?
Rückseite
HTTP ist ein Request-Response-Protokoll (Client initiiert), WebSockets bieten volle Duplex-Kommunikation über eine persistente TCP-Verbindung, bei der beide Seiten jederzeit Daten senden können.
Wie wird eine WebSocket-Verbindung initialisiert?
Rückseite
Der Client sendet einen HTTP-Upgrade-Request mit Header 'Upgrade: websocket' und 'Sec-WebSocket-Key'. Der Server antwortet mit Status 101 Switching Protocols und berechnet den Accept-Key.
Welche Funktion hat der Sec-WebSocket-Key im Handshake?
Rückseite
Der Base64-kodierte 16-Byte-Zufallswert verhindert Caching-Probleme und Cross-Site-WebSocket-Hijacking. Der Server hasst ihn mit GUID '258EAFA5...' und sendet den Hash als Sec-WebSocket-Accept zurück.
Auf welchem TCP-Port laufen WebSockets standardmäßig?
Rückseite
WebSockets (ws://) nutzen Port 80, sichere WebSockets (wss://) Port 443 – identisch zu HTTP/HTTPS, da der Handshake initial über HTTP läuft.
Wie ist ein WebSocket-Frame aufgebaut?
Rückseite
Ein Frame besteht aus: FIN-Bit (1 Bit), RSV1-3 (je 1 Bit), Opcode (4 Bit), Mask-Bit (1 Bit), Payload-Length (7/16/64 Bit), Masking-Key (0/32 Bit) und Payload-Daten.
Welche Opcode-Werte definieren die Frame-Typen?
Rückseite
0x0 = Continuation, 0x1 = Text-Frame (UTF-8), 0x2 = Binary-Frame, 0x8 = Connection Close, 0x9 = Ping, 0xA = Pong. Werte 0x3-0x7 und 0xB-0xF sind für Erweiterungen reserviert.
Warum werden Client-to-Server-Frames maskiert?
Rückseite
Maskierung (XOR mit 32-Bit-Key) verhindert Cache-Poisoning-Angriffe auf zwischengeschaltete Proxies, die WebSocket-Verkehr als HTTP missverstehen könnten.
Wie wird Fragmentierung bei großen Nachrichten gehandhabt?
Rückseite
Erster Frame hat Opcode 0x1/0x2 und FIN=0, Folgeframes nutzen Opcode 0x0 (Continuation) mit FIN=0, letzter Frame hat FIN=1. Receiver setzt Payloads in Reihenfolge zusammen.
Welche Rolle spielen Ping/Pong-Frames?
Rückseite
Ping (0x9) und Pong (0xA) dienen als Heartbeat-Mechanismus zur Verbindungsüberwachung. Der Empfänger muss auf Ping sofort mit Pong antworten (gleicher Payload). Anwendungen nutzen dies für Keep-Alive und Latenzmessung.
Wie wird eine WebSocket-Verbindung ordnungsgemäß beendet?
Rückseite
Eine Seite sendet Close-Frame (Opcode 0x8) mit optionalem Statuscode (z. B. 1000 Normal Closure) und Grund. Die Gegenseite antwortet mit eigenem Close-Frame, dann wird TCP-Verbindung geschlossen (FIN/ACK).
Welche Statuscodes sind im Close-Frame definiert?
Rückseite
1000 = Normal, 1001 = Going Away, 1002 = Protocol Error, 1003 = Unsupported Data, 1007 = Invalid Payload, 1008 = Policy Violation, 1009 = Too Big, 1011 = Server Error. Codes 1004-1006, 1015 sind reserviert.
Was ist das Same-Origin-Problem bei WebSockets?
Rückseite
Browser prüfen Origin-Header beim Handshake nicht automatisch (anders als CORS bei HTTP). Server müssen Origin validieren, um Cross-Site-WebSocket-Hijacking (CSWSH) zu verhindern.
Wann sind WebSockets gegenüber Server-Sent Events (SSE) vorzuziehen?
Rückseite
Bei bidirektionaler Kommunikation (Client→Server und Server→Client häufig), binären Daten, oder wenn Protokoll-Overhead minimiert werden soll. SSE eignet sich nur für Server→Client-Streaming über HTTP.
Nenne drei typische Anwendungsfälle für WebSockets.
Rückseite
Echtzeit-Chats, kollaborative Editoren (Google Docs), Live-Finanzdaten/Trading-Plattformen, Multiplayer-Spiele, IoT-Dashboards, Benachrichtigungssysteme.
Wie behandelt man Verbindungsabbrüche clientseitig robust?
Rückseite
Implementiere automatisches Reconnect mit exponentiellem Backoff (z. B. 1s, 2s, 4s, max 30s), Jitter zur Vermeidung von Thundering Herd, und speichere ausstehende Nachrichten lokal für Wiederversand nach Reconnect.