5. 拡張 CONNECT を使用した WebSocket プロトコルのブートストラップ (Using Extended CONNECT to Bootstrap the WebSocket Protocol)
CONNECT リクエストに含まれる :protocol 疑似ヘッダーフィールドは、ストリームが WebSocket プロトコルに使用されることを示します。このフィールドの値は "websocket" でなければなりません (MUST)。
:scheme 疑似ヘッダーフィールドは、wss URI の場合は "https"、ws URI の場合は "http" に設定する必要があります (MUST)。
:path 疑似ヘッダーフィールドは、ターゲット URI のパスとクエリ部分に設定する必要があります (MUST)。
:authority 疑似ヘッダーフィールドは、ターゲット URI の権限部分に設定する必要があります (MUST)。
リクエストには、"Connection"、"Upgrade"、"Sec-WebSocket-Key"、または "Sec-WebSocket-Version" ヘッダーフィールドを含めてはなりません (MUST NOT)。
本文書をサポートし、:protocol 疑似ヘッダーフィールドが "websocket" に等しい CONNECT リクエストを受信するサーバーは、リクエストを WebSocket ハンドシェイクとして処理する必要があります (MUST)。
サーバーが WebSocket 接続に同意する場合、200 (OK) ステータスコードで応答する必要があります (MUST)。
5.1. 例
[[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)