A versão do HTTP não é suportada.
Quando usar
Raro; versões de protocolo muito antigas ou muito novas.
Causas comuns e soluções
Muito raro na prática: o servidor rejeita a versão HTTP na linha de requisição. As causas incluem uma requisição escrita à mão com um erro de digitação, como HTTP/1.2, um cliente falando HTTP/2 com um servidor que só entende HTTP/1.x, ou o contrário. O AWS ALB documenta o 505 exatamente para esse descompasso, por exemplo uma requisição HTTP/2 chegando em uma conexão que ele estabeleceu como HTTP/1.
Depure forçando uma versão com curl --http1.1 ou curl --http2 e vendo qual delas o servidor aceita, e verifique a negociação ALPN com openssl s_client -alpn h2 -connect host:443. Os navegadores negociam HTTP/2 e HTTP/3 via ALPN e Alt-Svc, então quase nunca provocam um 505. A resposta deve listar quais versões o servidor suporta.
Erro do servidor (5xx)
Os códigos 5xx são erros do servidor: a requisição pode estar certa, mas o servidor ou algo por trás dele falhou. Vale a pena configurar alertas para eles.
Como fica
HTTP/1.1 505 HTTP Version Not SupportedComo enviar
| Node.js / Express | res.status(505).end() |
|---|---|
| Python / Flask | return '', 505 |
| nginx | return 505; |
Como verificar
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/