505 HTTP Version Not Supported

La version HTTP n’est pas prise en charge.

Quand l’utiliser

Rare ; versions de protocole très anciennes ou très récentes.

Causes courantes et solutions

Très rare en pratique : le serveur rejette la version HTTP de la ligne de requête. Parmi les causes : une requête écrite à la main avec une faute de frappe comme HTTP/1.2, un client qui parle HTTP/2 à un serveur qui ne comprend que HTTP/1.x, ou l’inverse. AWS ALB documente 505 précisément pour ce décalage, par exemple une requête HTTP/2 arrivant sur une connexion qu’il a établie en HTTP/1.

Déboguez en forçant une version avec curl --http1.1 ou curl --http2 pour voir laquelle le serveur accepte, et vérifiez la négociation ALPN avec openssl s_client -alpn h2 -connect host:443. Les navigateurs négocient HTTP/2 et HTTP/3 via ALPN et Alt-Svc, si bien qu’ils ne déclenchent quasiment jamais de 505 eux-mêmes. La réponse devrait indiquer les versions que le serveur prend en charge.

Erreur serveur (5xx)

Les codes 5xx sont des erreurs serveur : la requête est peut-être correcte, mais le serveur ou un composant derrière lui a échoué. Ils méritent une alerte.

À quoi ça ressemble

HTTP/1.1 505 HTTP Version Not Supported

Comment l’envoyer

Node.js / Expressres.status(505).end()
Python / Flaskreturn '', 505
nginxreturn 505;

Comment le vérifier

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Ouvrir l’outil Codes de statut HTTP