426 Upgrade Required は、サーバーが現在のプロトコルではリクエストの実行を拒否するものの、クライアントが別のプロトコルにアップグレードすれば実行する可能性があることを示します。サーバーは、必要なプロトコルを示す Upgrade ヘッダーを送る必要があります。
最も多いのは、WebSocket のエンドポイントが通常の HTTP リクエストを受け取るケースです。多くの WebSocket サーバーは、WebSocket のハンドシェイクを送るべきだと伝えるために 426 を返します。426 は TLS(RFC 2817)や新しい HTTP バージョンを要求するためにも使われてきましたが、HTTPS についてはリダイレクトを使うのが一般的です。
レスポンス例
HTTP
HTTP/1.1 426 Upgrade Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Upgrade: websocket
Connection: Upgrade
Content-Type: text/plain
Content-Length: 49
This endpoint only accepts WebSocket connections. SEO とリダイレクトチェック
426 を返す URL はインデックスされませんが、そうした URL はたいてい、そもそもクロールされるべきでない WebSocket や API のエンドポイントです。通常のページのリダイレクトチェックで 426 が表示された場合は、サーバーやプロキシがその URL を WebSocket のバックエンドに振り分けています。
よくある原因と主な用途
- WebSocket のエンドポイントに、通常の HTTP の
GETが送られた場合。 - サーバーの前段にあるプロキシが
Upgradeヘッダーを転送しないため、バックエンドには通常のリクエストとして届いている場合。 - クライアントが使っていないプロトコルのバージョンを、サーバーが要求している場合。