505 HTTP Version Not Supported
The server refuses the major HTTP version used in the request line.
At a glance
- Status code
- 505 HTTP Version Not Supported
- Class
- 5xx, server error, the request looked fine and the server failed
- Defined in
- RFC 9110
- Cacheable by default
- yes
- Response body
- Should say which versions are supported.
In detail
Rare in practice, because version negotiation happens during the TLS handshake for HTTP/2 and later. It usually indicates a malformed request line rather than a genuine version dispute.
Servers should state which versions they do support, so the client has somewhere to go.
If you see 505 while testing by hand, check the request line. A missing or misspelled HTTP/1.1 token produces it immediately.
Examples
HTTP/1.1 505 HTTP Version Not Supported
Content-Type: text/plain
Supported: HTTP/1.1, HTTP/2Things that catch people out
- Sending a raw HTTP/2 preface to an HTTP/1.1 server produces either 505 or 400 depending on the implementation.
- The status line of the response itself must use a version the client understands, which is why servers answer with HTTP/1.1 here.
Try it: HTTP Request Builder
Build a request with any method, headers and body, send it, and read the status line the server returns.
HTTP Request Builder
LOCAL · Browser-OnlyBuild and test HTTP requests with custom headers and body
Authentication
Headers
Generate Code
curl -X GET 'https://api.example.com/endpoint' \
-H 'Content-Type: application/json'Showing a sample URL. Enter your endpoint above to update the snippet.
Related HTTP status codes
All http status codes →426 Upgrade Required
The server refuses to serve this request over the current protocol and names, in the Upgrade header, what it will accept.
400 Bad Request
The server refused the request because it was malformed. The client must change something before retrying, because repeating the same bytes will fail.
501 Not Implemented
The server does not support the functionality required to fulfil the request, typically an unrecognised request method.
506 Variant Also Negotiates
A server configuration error in transparent content negotiation: a chosen variant is itself configured to negotiate, creating a loop.
507 Insufficient Storage
The server cannot store the representation needed to complete the request, because it is out of space.
508 Loop Detected
The server aborted the operation because it detected an infinite loop while processing a request with WebDAV bindings.
Tools for this
- HTTP Request Builder Free online HTTP request builder - build and test HTTP requests with custom headers and body
- HTTP Headers Checker Free online HTTP headers checker - view HTTP response headers for any URL