When you see this status
- Client sends a request with an HTTP version unsupported by the server
- Server explicitly rejects HTTP/2 or HTTP/3 requests due to misconfiguration
- Proxy or gateway detects an incompatible HTTP version upstream
Common causes
- Client using an outdated or experimental HTTP version
- Server configured to only support specific HTTP versions
- Misconfigured proxy/gateway between client and server
- Server lacks support for HTTP/2 or HTTP/3
How to debug it
- Inspect the request's HTTP version header (e.g., 'HTTP/1.1')
- Check server configuration for supported HTTP versions
- Verify proxy/gateway compatibility with client's HTTP version
- Test with a client using a supported HTTP version
Return this code in your framework
Express (Node.js)
res.status(505).send('HTTP Version Not Supported');
FastAPI (Python)
from fastapi import HTTPException
raise HTTPException(status_code=505, detail="HTTP Version Not Supported")
NestJS
@Get()
getData() { throw new HttpException('HTTP Version Not Supported', 505); }
Go (net/http)
http.Error(w, "HTTP Version Not Supported", 505)
About HTTP 505
HTTP status code 505 HTTP Version Not Supported is part of the
5xx Server Error family. The server refuses to handle the request due to an unsupported HTTP protocol version. Understanding it is essential for
backend engineers, API designers, and anyone debugging integrations between services.
The Qaynaq Labs HTTP Status Code Explainer covers all standard codes with practical guidance:
what triggers them, how to debug them in production, and exactly how to return them from common
frameworks. Each code page is hand-curated and verified.