101 Switching Protocols
HTTP の 101 Switching Protocols
は情報レスポンスステータスコードで、サーバーが切り替えようとしているプロトコルを示します。
プロトコルはクライアントから受信した Upgrade
リクエストヘッダーで指定されます。
サーバーはこのレスポンスに Upgrade
レスポンスヘッダーを含めて、切り替え先のプロトコルを示します。手順はプロトコル更新メカニズムの記事で詳細に説明しています。
状態
http
101 Switching Protocols
例
WebSocket へのプロトコルの切り替え
次の例は、 WebSockets でプロトコルを切り替える方法を示すものです。
クライアントは、 GET
の HTTP リクエストを、 Upgrade
ヘッダー付きで送信します。これには Connection
ヘッダーにも入れる必要があります。
サーバーはプロトコルの切り替えに同意すると、 HTTP から WebSocket への接続の切り替えを意味する 101 レスポンスを返します。
この時点で、クライアントとサーバーは WebSocket データの交換を開始できます。
ハンドシェイク交渉用の Sec-WebSocket-*
ヘッダーの設定方法に関する情報は、 WebSocket 固有のヘッダーで得られます。
http
GET /notifications HTTP/1.1
Host: example.com
Upgrade: websocket
Connection: Upgrade
http
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
仕様書
Specification |
---|
HTTP Semantics # status.101 |