📡
505
HTTP Version Not Supported
⚙️
⚙️

Example HTTP Response

HTTP Response
HTTP/1.1 505 HTTP Version Not Supported
Common Causes
  • Client using outdated HTTP version
  • Server doesn't support HTTP/2 or HTTP/3
  • Protocol version mismatch
Technical Details

What does this mean?

Speaking ancient HTTP! The server doesn't understand your dialect. Time to upgrade your protocol game!

Technical Definition

The HTTP version used in the request is not supported by the server.

RFC Says

"The 505 (HTTP Version Not Supported) 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."

Plain English:

505 means 'I don't support the HTTP version you're using.' For example, if a client tries to use HTTP/3 with a server that only supports HTTP/1.1. This is extremely rare in practice since most servers support multiple HTTP versions and negotiate appropriately.

Common Misinterpretation

You'll almost never need to return 505 in modern applications - HTTP version negotiation is handled automatically at the web server level. Don't use 505 for API versioning (like /v1 vs /v2) - that's application-level versioning, not HTTP protocol versioning.

Code Snippets

Ready-to-use code for returning this HTTP status in your application:

Node.js
// Express.js
app.get('/example', (req, res) => {
  res.status(505).json({
    error: 'HTTP Version Not Supported',
    message: 'Your error message here'
  });
});

// Native HTTP
const http = require('http');

http.createServer((req, res) => {
  res.writeHead(505, { 'Content-Type': 'application/json' });
  res.end(JSON.stringify({
    error: 'HTTP Version Not Supported',
    message: 'Your error message here'
  }));
}).listen(3000);