505 HTTP Version Not Supported
The server does not support the major HTTP version used in the request.
Status
HTTP/1.1 505 HTTP Version Not Supported
Details
- Category: 5xx
- Status: Standard. Registered with IANA and defined by a current standards-track RFC.
- Specification: RFC 9110 §15.6.6
- Cacheable: Only with explicit cache headers
- Response body: Allowed
- Retry: Retry only after changing the request
505 rejects the protocol version on the request line. It is rare, because version negotiation normally happens before this point: HTTP/2 is selected during the TLS handshake via ALPN, and HTTP/1.1 is universally supported.
In practice it shows up with hand-written HTTP clients that send a malformed version token, and occasionally with servers configured to refuse HTTP/1.0.
Common causes
- A malformed or unsupported version string on the request line.
- A server configured to refuse HTTP/1.0 requests.
- A raw socket client constructing requests by hand with the wrong syntax.
How to fix it
As the client
- Send HTTP/1.1, which every modern server supports.
- Let the TLS handshake negotiate HTTP/2 through ALPN rather than trying to request it in the request line.
As the server
- Include the supported versions in the response body so the client can correct itself.
- Consider accepting HTTP/1.0 for legacy monitoring tools rather than failing them outright.
Examples
GET / HTTP/3.5 Host: www.example.com HTTP/1.1 505 HTTP Version Not Supported