Upgrade
関連
種別
General
概要
HTTP/1.1以外のプロトコルに切り替え
slug
infographicIT/http/headers/upgrade
「Upgrade」ヘッダの概要
HTTPの「Upgrade」ヘッダは、クライアントがサーバに対して現在の接続を別のプロトコルにアップグレードする意思を示すために使用される。
例えば、クライアントがHTTP/1.1の接続をHTTP/2やWebSocketにアップグレードしたい場合、リクエストヘッダに
Upgrade
フィールドを追加してサーバにその意思を伝える。
そして、サーバーがアップグレードに対応している場合、適切なレスポンスヘッダを返すことでアップグレードが実行される。「Upgrade」ヘッダの使用例
「Upgrade」ヘッダを使用してHTTP/1.1の接続をHTTP/2にアップグレードする例を示す。
リクエスト
このリクエストでは、ConnectionヘッダにUpgradeとHTTP2-Settingsが指定されており、Upgradeヘッダにはh2c(HTTP/2 over cleartext TCP)が指定されている。
また、HTTP2-Settingsヘッダには、HTTP/2の設定情報がエンコードされた形で含まれている。
CSS
レスポンス
サーバがアップグレードに対応している場合、以下のようなレスポンスヘッダをクライアントに返す。
ステータスコード「101 Switching Protocols」が使用されており、ConnectionヘッダとUpgradeヘッダには、クライアントのリクエストと同じ値が設定される。これにより、クライアントとサーバーの間の接続がHTTP/2にアップグレードされる。
CSS