505 HTTP Version Not Supported

Die HTTP-Version wird nicht unterstützt.

Wann du ihn verwendest

Selten; sehr alte oder sehr neue Protokollversionen.

Häufige Ursachen und Lösungen

In der Praxis sehr selten: Der Server lehnt die HTTP-Version in der Request-Zeile ab. Ursachen sind etwa eine von Hand geschriebene Anfrage mit einem Tippfehler wie HTTP/1.2, ein Client, der HTTP/2 mit einem Server spricht, der nur HTTP/1.x versteht, oder umgekehrt. AWS ALB dokumentiert 505 genau für diese Unstimmigkeit, etwa wenn eine HTTP/2-Anfrage auf einer Verbindung ankommt, die der ALB als HTTP/1 aufgebaut hat.

Erzwinge zum Debuggen eine Version mit curl --http1.1 oder curl --http2 und schau, welche der Server akzeptiert, und prüfe die ALPN-Aushandlung mit openssl s_client -alpn h2 -connect host:443. Browser handeln HTTP/2 und HTTP/3 über ALPN und Alt-Svc aus, daher lösen sie 505 praktisch nie selbst aus. Die Antwort sollte auflisten, welche Versionen der Server unterstützt.

Server-Fehler (5xx)

5xx-Codes sind Server-Fehler: Die Anfrage kann in Ordnung sein, aber der Server oder etwas dahinter ist ausgefallen. Für diese Codes lohnt sich eine Alarmierung.

So sieht es aus

HTTP/1.1 505 HTTP Version Not Supported

So sendest du ihn

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

So prüfst du ihn

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

HTTP-Statuscodes öffnen