505 HTTP Version Not Supported

HTTP Status CodesServer (5xx)rarerStatus Code: 505Last updated: todayTested on:Google ChromeNode.js v20 LTSJune 2026

The server does not support the major version of HTTP that was used.

505 HTTP Version Not Supported Quick Fix⏱️ Est. Fix Time: 3 minutes

Usually happens because:

  • Client requesting resource using unsupported
  • Malformed HTTP protocol version string

🔍 Quick Checklist:

Meaning

The HTTP 505 HTTP Version Not Supported server error status code indicates that the server does not support, or refuses to support, the major version of HTTP that was used in the request message.

Root Causes

  • Client requesting resource using unsupported newer HTTP protocols (e.g. HTTP/3 on a server that only supports HTTP/1.1).
  • Malformed HTTP protocol version string formats.
CauseFrequency
Client requesting resource using unsupported⭐⭐⭐⭐⭐
Malformed HTTP protocol version string⭐⭐⭐⭐

Common Mistakes

  • Assuming all legacy backend proxies support HTTP/2 multiplexing pipelines directly.

How to Fix

1Downgrade client request protocols to match server capabilities.
2Configure origin server and proxy layers to support HTTP/2 or HTTP/3 upgrades.

Framework-Specific Examples

Express router returning 505.

Express Example
app.use((req, res, next) => {
  if (req.httpVersionMajor > 2) {
    return res.status(505).send('HTTP Version Not Supported');
  }
  next();
});

Server Configuration Examples

Configuring Nginx protocol layers.

Nginx Config
# Nginx supports HTTP/1.0, HTTP/1.1, HTTP/2 by default, and HTTP/3 if compiled with quic module

Prevention

  • Ensure proxies handle newer HTTP versions and translate them to HTTP/1.1 before contacting upstream application servers.

Frequently Asked Questions (FAQ)

Q: Why is HTTP 505 rarely seen by users?

Because modern proxies (like Nginx or Cloudflare) automatically downgrade HTTP/2 or HTTP/3 client requests to HTTP/1.1 before sending them to origin application servers.

Q: What version format triggers a 505 error?

Sending unparseable version identifiers (e.g. HTTP/9.9) or newer HTTP/3 requests to an old legacy server that only supports HTTP/1.0 or HTTP/1.1.

Q: Is 505 cacheable?

No. The 505 HTTP Version Not Supported status code is never cached.

Q: How do clients resolve 505 errors?

Ensure the client library uses standard HTTP/1.1 or HTTP/2 request formatting.

Still having this problem?

Didn't solve your problem?

SuggestRequest Error