Zum Hauptinhalt springen

2. Conformance Requirements (Konformitätsanforderungen)

Alle Diagramme, Beispiele und Hinweise in dieser Spezifikation sind nicht normativ, ebenso wie alles andere, außer dem, was explizit als normativ gekennzeichnet ist.

2.1 Terminology and Other Conventions (Terminologie und andere Konventionen)

Die Schlüsselwörter „MUST", „MUST NOT", „REQUIRED", „SHALL", „SHALL NOT", „SHOULD", „SHOULD NOT", „RECOMMENDED", „MAY" und „OPTIONAL" in diesem Dokument sind wie in RFC 2119 beschrieben zu interpretieren.

RFC 2119-Schlüsselwörter

SchlüsselwortDeutschBedeutung
MUSTmussAbsolute Anforderung
MUST NOTdarf nichtAbsolutes Verbot
REQUIREDerforderlichAbsolute Anforderung
SHALLmussVerpflichtende Anforderung
SHALL NOTdarf nichtVerpflichtendes Verbot
SHOULDsollteStarke Empfehlung
SHOULD NOTsollte nichtStarke Gegenempfehlung
RECOMMENDEDempfohlenEmpfohlene Praxis
MAYkann/darfErlaubt/Optional
OPTIONALoptionalVollständig optional

Definitionen der wichtigsten Begriffe

WebSocket-Verbindung (WebSocket Connection)
Ein konzeptioneller Kanal, der zwischen einem Client und einem Server zum Übertragen von WebSocket-Nachrichten eingerichtet wird.

WebSocket-Endpunkt (WebSocket Endpoint)
Eines der beiden Enden einer WebSocket-Verbindung (Client oder Server).

WebSocket-Client (WebSocket Client)
Eine Anwendung, die eine WebSocket-Verbindung initiiert.

WebSocket-Server (WebSocket Server)
Eine Anwendung, die eine WebSocket-Verbindung akzeptiert.

Nachricht (Message)
Eine Dateneinheit auf Anwendungsebene, die aus einem oder mehreren Frames besteht.

Frame
Die kleinste Kommunikationseinheit in einer WebSocket-Verbindung.

Steuerungsframe (Control Frame)
Ein Frame, der für den Kommunikationsstatus verwendet wird, wie Close, Ping, Pong.

Datenframe (Data Frame)
Ein Frame, der Anwendungs- oder Erweiterungsdaten enthält.

Übersicht der Protokollanforderungen

Implementierungen, die dieser Spezifikation entsprechen:

  1. müssen (MUST) den vollständigen Handshake-Mechanismus implementieren
  2. müssen (MUST) alle definierten Frame-Typen korrekt behandeln
  3. müssen (MUST) in Client-Implementierungen alle zum Server gesendeten Frames maskieren
  4. dürfen nicht (MUST NOT) in Server-Implementierungen zum Client gesendete Frames maskieren
  5. müssen (MUST) die Verbindung schließen, wenn nicht konforme Frames empfangen werden
  6. sollten (SHOULD) TLS (wss://) unterstützen