含义
服务器拒绝用当前协议处理请求,要求客户端升级到 Upgrade 头中指定的协议,例如 TLS 或 HTTP/2。
常见原因
- 服务器要求更新的协议版本
- 用普通 HTTP 调用了 WebSocket 端点
解决方法
客户端或访问者
切换到 Upgrade 头中的协议,例如 https、HTTP/2 或 WebSocket。
网站或 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?
请求是普通 HTTP,没有带 WebSocket 升级所需的请求头。
› 426 会被用来强制 HTTPS 吗?
很少。网站通常用 301/308 重定向到 https 并启用 HSTS。