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 SupportedComment l’envoyer
| Node.js / Express | res.status(505).end() |
|---|---|
| Python / Flask | return '', 505 |
| nginx | return 505; |
Comment le vérifier
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/