426 Upgrade Required 表示伺服器拒絕以目前的通訊協定執行要求,但在用戶端升級到其他通訊協定之後可能會執行。伺服器必須傳送 Upgrade 標頭,指出所需的一或多種通訊協定。
最常見的情況是 WebSocket 端點收到一般的 HTTP 要求:許多 WebSocket 伺服器會回應 426,表示用戶端應該傳送 WebSocket 交握。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 的網址無法編入索引,但這類網址通常是 WebSocket 或 API 端點,本來就不該被檢索。如果重新導向檢查對一般網頁顯示 426,代表伺服器或代理伺服器將該網址轉送給了 WebSocket 後端。
常見原因與使用情境
- 對 WebSocket 端點送出了一般的 HTTP
GET。 - 伺服器前端的代理伺服器沒有轉送
Upgrade標頭,因此後端看到的是一般要求。 - 伺服器要求使用某個通訊協定版本,但用戶端並未使用。