Passa al contenuto principale

5. Utilizzo di CONNECT esteso per avviare il protocollo WebSocket (Using Extended CONNECT to Bootstrap the WebSocket Protocol)

Il campo pseudo-intestazione :protocol incluso nella richiesta CONNECT indica che il flusso deve essere utilizzato per il protocollo WebSocket. Il valore di questo campo DEVE essere "websocket".

Il campo pseudo-intestazione :scheme DEVE essere impostato su "https" per gli URI wss e "http" per gli URI ws.

Il campo pseudo-intestazione :path DEVE essere impostato sulle parti percorso e query dell'URI di destinazione.

Il campo pseudo-intestazione :authority DEVE essere impostato sulla parte autorità dell'URI di destinazione.

La richiesta NON DEVE contenere i campi di intestazione "Connection", "Upgrade", "Sec-WebSocket-Key" o "Sec-WebSocket-Version".

Un server che supporta questo documento E riceve una richiesta CONNECT con un campo pseudo-intestazione :protocol uguale a "websocket" DEVE elaborare la richiesta come un handshake WebSocket.

Se il server accetta la connessione WebSocket, DEVE rispondere con un codice di stato 200 (OK).

5.1. Esempio

[[HEADERS frame]] :method = CONNECT :protocol = websocket :scheme = https :path = /chat :authority = server.example.com sec-websocket-protocol = chat, superchat sec-websocket-version = 13 origin = http://www.example.com

[[DATA frame]] (WebSocket data)