At One Place

HTTP 505 — HTTP Version Not Supported

HTTP 505
HTTP Version Not Supported
The server refuses to handle the version of HTTP used in the request.

What 505 actually means

The major HTTP version in the request line is one the server will not serve. It is rare, because version negotiation normally happens transparently and servers accept anything from HTTP/1.0 upwards. When it does appear it usually means something is not speaking HTTP at all — a garbled request from a misconfigured client, or a raw TLS handshake arriving on a plaintext port and being parsed as a nonsensical version string.

Common causes

  • A malformed request line that the server parses as an unknown version
  • An HTTPS request sent to a port serving plain HTTP
  • A very old or hand-rolled client using an unsupported version
  • A proxy mangling the request line

If you're just trying to view the page

  1. Check whether you should be using https:// rather than http:// for that address
  2. Update your browser if it is very old
  3. Otherwise nothing — the request is not valid HTTP as far as the server is concerned

If it's your site

  1. Check that clients are connecting to the right port with the right scheme
  2. Inspect the raw request line in the access log; it usually reveals binary TLS bytes or an obviously corrupted string
  3. The response must state which versions are supported, so include that

Reference

Status code
505
Reason phrase
HTTP Version Not Supported
Category
5xx — Server Error
Cacheable by default
No
Defined in
RFC 9110 §15.6.6

Common questions

What does HTTP 505 mean?
The server refuses to handle the version of HTTP used in the request. The major HTTP version in the request line is one the server will not serve. It is rare, because version negotiation normally happens transparently and servers accept anything from HTTP/1.0 upwards.
How do I fix a 505 error?
Check whether you should be using https:// rather than http:// for that address
Is 505 a client error or a server error?
505 is in the 5xx range, which means server error. The request was acceptable but the server could not fulfil it, so retrying later can succeed.

Related pages

Sources

  1. Hypertext Transfer Protocol (HTTP) Status Code Registry — IANA
  2. RFC 9110: HTTP Semantics — IETF

How these figures are compiled and checked