505 HTTP Version Not Supported
使い方
505 HTTP Version Not Supported ステータスコードは、リクエストのメジャープロトコルバージョンをサーバーがサポートしていないことを意味します。サーバーは、その特定の HTTP プロトコルバージョンがなぜサポートされないのかを説明し、その URI についてサーバーが受け入れる用意のある HTTP プロトコルを列挙したレスポンスを生成することが期待されます。
SEO への影響
Google のような検索エンジンは、505 HTTP Version Not Supported ステータスを返す URL をインデックスしません。このステータスコードを返す、以前にインデックスされていた URL は検索結果から削除されます。
例
クライアントが HTTP/2 を使ってリソースを要求し、サーバーは HTTP/1.1 しかサポートしていないため 505 HTTP Version Not Supported ステータスコードで応答します。
リクエスト
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