Passa al contenuto principale

2. Conformance Requirements (Requisiti di conformità)

Tutti i diagrammi, gli esempi e le note in questa specifica sono non normativi, così come tutto il resto tranne ciò che è esplicitamente contrassegnato come normativo.

2.1 Terminology and Other Conventions (Terminologia e altre convenzioni)

Le parole chiave "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" e "OPTIONAL" in questo documento devono essere interpretate come descritto nella RFC 2119.

Parole chiave RFC 2119

Parola chiaveItalianoSignificato
MUSTdeveRequisito assoluto
MUST NOTnon deveDivieto assoluto
REQUIREDrichiestoRequisito assoluto
SHALLdeveRequisito obbligatorio
SHALL NOTnon deveDivieto obbligatorio
SHOULDdovrebbeForte raccomandazione
SHOULD NOTnon dovrebbeForte non-raccomandazione
RECOMMENDEDraccomandatoPratica raccomandata
MAYpuòConsentito/Opzionale
OPTIONALopzionaleCompletamente opzionale

Definizioni dei termini chiave

Connessione WebSocket (WebSocket Connection)
Un canale concettuale stabilito tra un client e un server per trasmettere messaggi WebSocket.

Endpoint WebSocket (WebSocket Endpoint)
Una delle due estremità di una connessione WebSocket (client o server).

Client WebSocket (WebSocket Client)
Un'applicazione che avvia una connessione WebSocket.

Server WebSocket (WebSocket Server)
Un'applicazione che accetta una connessione WebSocket.

Messaggio (Message)
Un'unità di dati a livello applicazione composta da uno o più frame.

Frame
L'unità più piccola di comunicazione in una connessione WebSocket.

Frame di controllo (Control Frame)
Un frame utilizzato per lo stato di comunicazione, come Close, Ping, Pong.

Frame di dati (Data Frame)
Un frame contenente dati dell'applicazione o dell'estensione.

Panoramica dei requisiti del protocollo

Le implementazioni conformi a questa specifica:

  1. devono (MUST) implementare il meccanismo di handshake completo
  2. devono (MUST) gestire correttamente tutti i tipi di frame definiti
  3. devono (MUST) mascherare tutti i frame inviati al server nelle implementazioni client
  4. non devono (MUST NOT) mascherare i frame inviati al client nelle implementazioni server
  5. devono (MUST) chiudere la connessione quando si ricevono frame non conformi
  6. dovrebbero (SHOULD) supportare TLS (wss://)