意味
サーバーは現在のプロトコルでのリクエストを拒否し、Upgrade ヘッダーで示した TLS や HTTP/2 などへのアップグレードを求めています。
よくある原因
- サーバーが新しいプロトコルバージョンを要求している
- WebSocket エンドポイントを通常の HTTP で呼び出した
対処法
クライアント・閲覧者の場合
https、HTTP/2、WebSocket など、Upgrade ヘッダーのプロトコルに切り替えます。
サイトや API の運営者の場合
必要なプロトコルを Upgrade に記載します。
レスポンス例
HTTP/1.1
HTTP/1.1 426 Upgrade Required
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Upgrade: HTTP/2
Connection: Upgrade
Content-Length: 0 仕様
よくある質問
› WebSocket サーバーが 426 を返すのはなぜ?
リクエストが WebSocket のアップグレードヘッダーのない通常の HTTP だったからです。
› 426 は HTTPS の強制に使われる?
まれです。サイトは通常 301/308 で https にリダイレクトし、HSTS を使います。