505 HTTP Version Not Supported
Применение
Код состояния 505 HTTP Version Not Supported означает, что сервер не поддерживает основную версию протокола, указанную в запросе. Сервер должен сформировать ответ с объяснением, почему конкретная версия протокола HTTP не поддерживается, и с перечислением тех протоколов HTTP, которые сервер готов принимать для данного URI.
Влияние на SEO
Поисковые системы вроде Google не индексируют URL, возвращающий статус 505 HTTP Version Not Supported. Ранее проиндексированные 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