HTTP 505 — HTTP Version Not Supported
HTTP 505 rejects the protocol version in the request line: the server refuses to speak that version for this resource, whether it is too old or, occasionally, too new for its stack.
When 505 shows up
- Clients pinning an old HTTP version against a modernised server.
- Protocol enforcement policies at gateways.
Mocking a 505 response
A response with this status can be faked end to end with a local mock rule — no backend changes needed. The configuration below mirrors the rule fields the ApiSimul editor uses (method, path, status, delay in milliseconds, response body):
{
"method": "GET",
"path": "/api/data",
"status": 505,
"delay": 170,
"enabled": true,
"body": null
}Dynamic placeholders such as {{random.name}}, {{string.uuid}} or {{number.int 1 100}} can appear inside the body to vary each response, which keeps client-side list rendering and retry logic honest during development.
Frequently asked questions
What does HTTP 505 mean?
The HTTP version in the request is not supported. The client must negotiate a version the server does speak.
How can I test a 505 response without a real backend?
Define a mock rule with the method and path your client requests and set the status to 505. The example configuration above returns this response after the listed delay, so the client exercises its 505 handling exactly as it would against a live server.
Related status codes
Need the response in your own project? Spin up rules for any status with the ApiSimul mock server, or browse every status code page.