505 HTTP Version Not Supported

HTTP response status code 505 HTTP Version Not Supported is a server error indicating the server does not support the major HTTP protocol version used in the request.

Usage

The 505 HTTP Version Not Supported status code means the server does not support the major protocol version from the request. The server is expected to generate a response explaining why the specific HTTP protocol version is not supported and listing which HTTP protocols the server is willing to accept for this URI.

SEO impact

Search engines like Google do not index a URL returning a 505 HTTP Version Not Supported status. Previously indexed URLs returning this status code are removed from search results.

Example

The client requests a resource using HTTP/2 and the server responds with a 505 HTTP Version Not Supported status code because the server only supports HTTP/1.1.

Request

GET / HTTP/2
Host: www.example.re

Response

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>

How to fix

Identify the protocol mismatch. The server log or response body names which HTTP version was rejected and which versions the server accepts.

On the client side:

  • Downgrade the request to a version the server supports. Most servers accept HTTP/1.1. In curl, force a version with --http1.1 or --http2.
  • Check for misconfigured proxies or load balancers in the request path. An intermediary rewriting the protocol version line to an unsupported value triggers a 505 at the next hop.

On the server side:

  • Nginx. HTTP/2 support requires the listen 443 ssl; directive with a separate http2 on; directive in the same server block. Without TLS, nginx does not serve HTTP/2. HTTP/3 requires building nginx with QUIC support and adding listen 443 quic;.
  • Apache. Enable mod_http2 and add Protocols h2 h2c http/1.1 to the virtual host. Restart Apache after the change. Apache requires OpenSSL with ALPN support for HTTP/2 over TLS.
  • IIS. HTTP/2 is enabled by default on Windows Server with IIS 10 and later. Older IIS versions require a manual registry edit or upgrade.
  • Outdated server software. Old builds of web servers lack HTTP/2 or HTTP/3 support entirely. Update to a current stable release.

Verify the fix by making a request with the previously rejected HTTP version and confirming a successful response.

Code references

.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.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

Takeaway

The 505 HTTP Version Not Supported status code is a server error generated when the server is unable or unwilling to process a request because the HTTP protocol version is not supported.

See also

Last updated: March 5, 2026