2. Conformance Requirements
All diagrams, examples, and notes in this specification are non-normative, as is everything else except what is explicitly marked as normative.
2.1 Terminology and Other Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
RFC 2119 Keywords
| Keyword | Meaning |
|---|---|
| MUST | Absolute requirement |
| MUST NOT | Absolute prohibition |
| REQUIRED | Absolute requirement |
| SHALL | Mandatory requirement |
| SHALL NOT | Mandatory prohibition |
| SHOULD | Strong recommendation |
| SHOULD NOT | Strong non-recommendation |
| RECOMMENDED | Recommended practice |
| MAY | Allowed/Optional |
| OPTIONAL | Completely optional |
Key Term Definitions
WebSocket Connection
A conceptual channel established between a client and a server for transmitting WebSocket messages.
WebSocket Endpoint
Either end of a WebSocket connection (client or server).
WebSocket Client
An application that initiates a WebSocket connection.
WebSocket Server
An application that accepts a WebSocket connection.
Message
An application-level unit of data composed of one or more frames.
Frame
The smallest unit of communication in a WebSocket connection.
Control Frame
A frame used for communication state, such as Close, Ping, Pong.
Data Frame
A frame containing application or extension data.
Protocol Requirements Overview
Implementations conforming to this specification:
- MUST implement the complete handshake mechanism
- MUST correctly handle all defined frame types
- MUST mask all frames sent to the server in client implementations
- MUST NOT mask frames sent to the client in server implementations
- MUST close the connection when receiving non-conforming frames
- SHOULD support TLS (wss://)
Reference Links
- Previous Chapter: 1. Introduction
- Next Chapter: 3. WebSocket URIs