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

関連情報