5. Utilisation de CONNECT étendu pour amorcer le protocole WebSocket (Using Extended CONNECT to Bootstrap the WebSocket Protocol)
Le champ de pseudo-en-tête :protocol inclus dans la demande CONNECT indique que le flux doit être utilisé pour le protocole WebSocket. La valeur de ce champ DOIT être "websocket".
Le champ de pseudo-en-tête :scheme DOIT être défini sur "https" pour les URI wss et "http" pour les URI ws.
Le champ de pseudo-en-tête :path DOIT être défini sur les parties chemin et requête de l'URI cible.
Le champ de pseudo-en-tête :authority DOIT être défini sur la partie autorité de l'URI cible.
La demande NE DOIT PAS contenir les champs d'en-tête "Connection", "Upgrade", "Sec-WebSocket-Key" ou "Sec-WebSocket-Version".
Un serveur qui prend en charge ce document ET reçoit une demande CONNECT avec un champ de pseudo-en-tête :protocol égal à "websocket" DOIT traiter la demande comme une poignée de main WebSocket.
Si le serveur accepte la connexion WebSocket, il DOIT répondre avec un code d'état 200 (OK).
5.1. Exemple
[[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)