505 HTTP Version Not Supported: un error de protocolo poco frecuente

505 HTTP Version Not Supported significa que el servidor rechaza la versión principal de HTTP usada en la solicitud.

Comprueba el código de estado de una URL

505 HTTP Version Not Supported significa que el servidor rechaza la versión de HTTP que el cliente usó en su solicitud. Con los navegadores modernos está casi extinguido, porque HTTP/2 y HTTP/3 se acuerdan antes de enviar ninguna solicitud. Cuando aparece, la causa suele ser una solicitud mal formada o un software muy antiguo.

Definición

La RFC 9110, sección 15.6.6 dice que el servidor “no admite, o se niega a admitir, la versión principal de HTTP que se usó en el mensaje de solicitud”, y que debería explicar el motivo y qué protocolos sí admite.

Cómo se eligen realmente las versiones

  • HTTP/1.1 indica su versión en la línea de solicitud (GET / HTTP/1.1).
  • HTTP/2 se acuerda durante el handshake TLS mediante ALPN (h2), así que una versión no admitida nunca llega a la fase de solicitud.
  • HTTP/3 se anuncia con la cabecera Alt-Svc o con registros DNS HTTPS, y los clientes recurren a otra versión si falla.

Por eso el 505 aparece sobre todo cuando una línea de solicitud está rota o construida a mano: un espacio en bruto en una URL que confunde al analizador (algunos servidores lo notifican como 505, otros como 400), un script que escribe HTTP/2.0 en una línea de solicitud de texto, o un equipo antiguo que solo habla HTTP/1.0.

Impacto en el SEO

Los rastreadores de Google admiten HTTP/1.1 y HTTP/2, y Googlebot rastrea por HTTP/2 cuando eso beneficia al sitio. Google trata el 505 como cualquier otro 5xx: el rastreo se ralentiza y las URL que siguen fallando acaban descartándose (documentación de Google). Si Googlebot recibe 505, busca un proxy o un equipo de seguridad entre internet y tu servidor que gestione mal alguna de esas versiones. Google también ha explicado que un sitio puede optar por no recibir rastreo por HTTP/2 respondiendo con 421 Misdirected Request; no uses el 505 para eso.

Cómo solucionarlo

  • Codifica los espacios y los caracteres especiales de las URL (%20) allí donde se generen enlaces.
  • Actualiza o reconfigura los balanceadores de carga, WAF y proxies antiguos para que acepten HTTP/1.1 y HTTP/2.
  • En los scripts, usa una librería HTTP de verdad en lugar de escribir a mano las líneas de solicitud.

Cómo comprobarlo

El test de velocidad de página indica qué versión de HTTP usa tu servidor, el comprobador de cabeceras HTTP muestra la respuesta completa y el comprobador de códigos de estado HTTP te dice qué URL fallan.

GET /index.html HTTP/2.0
Host: legacy.example.com

HTTP/1.1 505 HTTP Version Not Supported
Content-Type: text/plain
Connection: close

Preguntas frecuentes

¿Puede un navegador causar un error 505?

Rara vez. Los navegadores modernos negocian HTTP/2 o HTTP/3 antes de enviar solicitudes y recurren a HTTP/1.1. Un 505 suele apuntar a un script, un dispositivo antiguo o una URL rota.

¿Qué versiones de HTTP usa Googlebot?

La documentación de rastreadores de Google indica que admiten HTTP/1.1 y HTTP/2. Googlebot usa HTTP/2 cuando beneficia al sitio, y un servidor puede optar por no recibirlo con una respuesta 421.

¿Cómo soluciono un error 505?

Comprueba si las URL que fallan contienen espacios sin codificar o caracteres raros y revisa después cualquier proxy o firewall delante de tu servidor. Asegúrate de que todas las capas aceptan HTTP/1.1 y HTTP/2.