The 505 HTTP Version Not Supported is a status code that indicates the server does not support or cannot fulfill the HTTP protocol version used in the request.

Here are some typical causes for a 505 HTTP Version Not Supported status code:

  • The HTTP protocol version specified in the request message is invalid, unsupported, deprecated, or does not exist in the server. Common examples are trying to use HTTP/0.9 or HTTP/2.0 features with a HTTP/1.1 server.
  • The web server was recently upgraded to use HTTP semantics incompatible with previous behaviors. For example, a client sends an HTTP/1.0 request to an upgraded HTTP/1.1 server that no longer understands parts used.
  • There is a proxy, load balancer, or intermediary that supports different HTTP protocol versions between the client and back-end server, blocking unsupported syntax flows between them.
  • The client HTTP libraries, frameworks, or modules have bugs, incompatibilities, or configuration issues choosing the wrong HTTP protocol version for requests against a documented API or endpoint contract.
  • Code errors or invalid logic on the server side raise versioning mismatches with incoming requests. This could surface after new deployments, config changes, or platform upgrades.
  • Infrastructure as a service offerings, serverless computing platforms, or web hosting providers enforce HTTP standards incompatibility with applications trying to use deprecated versions.

In summary, 505 status codes reflect the inability of the target server to understand or properly parse the incoming request messaging due to incompatible HTTP specification versions requested by the client versus supported on the server.