HTTPQUERY
English

505 HTTP Version Not Supported

用法

505 HTTP Version Not Supported 状态码表示服务器不支持请求中的主协议版本。服务器应生成一个响应,说明为何不支持该特定的 HTTP 协议版本,并列出服务器愿意为此 URI 接受的 HTTP 协议。

SEO 影响

像 Google 这样的搜索引擎不会索引返回 505 HTTP Version Not Supported 状态的 URL。过去已被索引但返回此状态码的 URL 会从搜索结果中移除。

示例

客户端使用 HTTP/2 请求某个资源,服务器返回 505 HTTP Version Not Supported 状态码,因为服务器只支持 HTTP/1.1。

请求

GET / HTTP/2
Host: example.com

响应

HTTP/1.1 505 HTTP Version Not Supported
Content-Type: text/html; charset=UTF-8
Content-Length: 141

<html>
  <head>
    <title>Protocol Not Supported</title>
  </head>
  <body>
    <p>HTTP/2 not supported. Use HTTP/1.1.</p>
  </body>
</html>

如何修复

确定协议不匹配之处。服务器日志或响应体会指明哪个 HTTP 版本被拒绝,以及服务器接受哪些版本。

在客户端:

在服务器端:

通过使用先前被拒绝的 HTTP 版本发起请求并确认收到成功响应,来验证修复效果。

代码参考

.NET

HttpStatusCode.HttpVersionNotSupported

Rust

http::StatusCode::HTTP_VERSION_NOT_SUPPORTED

Rails

:http_version_not_supported

Go

http.StatusHTTPVersionNotSupported

Symfony

Response::HTTP_VERSION_NOT_SUPPORTED

Python3.5+

http.HTTPStatus.HTTP_VERSION_NOT_SUPPORTED

Java

java.net.HttpURLConnection.HTTP_VERSION

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_HTTP_VERSION_NOT_SUPPORTED

Angular

@angular/common/http/HttpStatusCode.HttpVersionNotSupported