HTTP 505 HTTP Version Not Supported — What It Means and How to Fix It

The HTTP 505 (HTTP Version Not Supported) status code indicates that the server does not support the HTTP protocol version used in the request message. The server is unwilling to complete the request using that version, often because it cannot or will not support the major version number specified.

Last updated: 2026-06-11

RECOMMENDED

Essential Reading: Designing Data-Intensive Applications

The system design bible for software engineers. Learn to build reliable, scalable, and maintainable systems.

View on Amazon →
Status Code 505
Name HTTP Version Not Supported

Common Causes

  • Client sending an outdated or non-standard HTTP version (e.g., HTTP/0.9, HTTP/3.0 before widespread adoption).
  • Misconfigured proxy server or load balancer forwarding requests with an unsupported HTTP version.
  • Server intentionally configured to only accept specific, newer HTTP versions (e.g., only HTTP/2 or HTTP/3, rejecting HTTP/1.1).
  • Client-side software bug or misconfiguration sending an invalid HTTP version string.

Code Examples to Handle HTTP 505

curl -I https://httpbin.org/status/505

How to Fix It

  1. **Client-side:** Verify the HTTP version being used by the client application or browser. Ensure it's using a standard and widely supported version like HTTP/1.1, HTTP/2, or HTTP/3.
  2. **Server-side:** Check the server's configuration (e.g., Apache, Nginx, Node.js server) to ensure it's configured to support the HTTP versions you expect clients to use. Update or reconfigure if necessary.
  3. **Proxy/Load Balancer:** If a proxy or load balancer is in front of the server, inspect its configuration. It might be downgrading or forwarding requests with an unsupported HTTP version to the backend server.
💡 Example: A legacy client application attempts to connect to a new API server that has been configured to only accept HTTP/2 and HTTP/3 requests. The client, still using HTTP/1.0, receives a 505 response because the server does not support that older protocol version.
🛠️ Developer Tip: When encountering a 505, first check your client's HTTP version header. If you're building a server, ensure your server software is configured to gracefully handle and announce supported HTTP versions.

Related Status Codes

Frequently Asked Questions

What causes HTTP 505?

HTTP 505 is primarily caused by a mismatch between the HTTP protocol version requested by the client and the versions supported by the server. This can stem from outdated client software, server misconfiguration, or issues with intermediary proxies.

How do I fix HTTP 505?

To fix HTTP 505, you should first identify the HTTP version being used by the client. Then, either update the client to use a supported version (e.g., HTTP/1.1, HTTP/2) or reconfigure the server to accept the version the client is sending. Also, check any proxies or load balancers in the request path.