La versión de HTTP no es compatible.
Cuándo usarlo
Poco habitual; versiones de protocolo muy antiguas o muy nuevas.
Causas habituales y soluciones
Muy poco frecuente en la práctica: el servidor rechaza la versión HTTP de la línea de solicitud. Entre las causas están una solicitud escrita a mano con una errata como HTTP/1.2, un cliente que habla HTTP/2 con un servidor que solo entiende HTTP/1.x, o al revés. AWS ALB documenta 505 precisamente para ese desajuste, por ejemplo una solicitud HTTP/2 que llega por una conexión que estableció como HTTP/1.
Depura forzando una versión con curl --http1.1 o curl --http2 y viendo cuál acepta el servidor, y comprueba la negociación ALPN con openssl s_client -alpn h2 -connect host:443. Los navegadores negocian HTTP/2 y HTTP/3 mediante ALPN y Alt-Svc, así que casi nunca provocan un 505 por sí mismos. La respuesta debería indicar qué versiones sí admite el servidor.
Error del servidor (5xx)
Los códigos 5xx son errores del servidor: puede que la solicitud sea correcta, pero el servidor o algo detrás de él ha fallado. Conviene configurar alertas para ellos.
Cómo se ve
HTTP/1.1 505 HTTP Version Not SupportedCómo enviarlo
| Node.js / Express | res.status(505).end() |
|---|---|
| Python / Flask | return '', 505 |
| nginx | return 505; |
Cómo comprobarlo
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/