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 的 URL 无法被编入索引,不过这类 URL 通常是 WebSocket 或 API 端点,本来就不应被抓取。如果重定向检测显示某个普通页面返回 426,说明服务器或代理把该 URL 路由到了 WebSocket 后端。
常见原因与使用场景
- 向 WebSocket 端点发送了普通的 HTTP
GET。 - 服务器前面的代理没有传递
Upgrade请求头,因此后端看到的是普通请求。 - 服务器要求的协议版本不是客户端所用的版本。