414 URI Too Long

Die URL ist länger, als der Server verarbeitet.

Wann du ihn verwendest

Riesige Query-Strings. Verschiebe die Daten in einen POST-Body.

Häufige Ursachen und Lösungen

Die Request-URL überschreitet ein Limit. Typische Auslöser: riesige Query-Strings aus Filtern oder ID-Listen, base64-Daten in der URL, Weiterleitungsschleifen, die bei jeder Runde einen Parameter anhängen (eine returnUrl verschachtelt in einer returnUrl), und gestapelte Tracking-Parameter. nginx antwortet mit 414, wenn die Request-Zeile nicht in large_client_header_buffers passt, standardmäßig 8k, und Apaches LimitRequestLine liegt bei 8190 Bytes.

Halte URLs unter etwa 2.000 Zeichen, um bei Browsern, CDNs, Analyse- und Log-Tools auf der sicheren Seite zu sein; Cloudflare begrenzt URLs auf 16 KB. Die Lösung ist, die Daten in einen POST-Body zu verlagern oder den Filter an einen Such-Endpunkt zu senden, der eine kurze ID für die URL zurückgibt. Höhere Server-Limits funktionieren auch, aber jeder Proxy in der Kette hat sein eigenes Limit.

Client-Fehler (4xx)

4xx-Codes sind Client-Fehler: Die Anfrage selbst ist fehlerhaft, nicht autorisiert oder verweist auf etwas, das es nicht gibt. Dieselbe Anfrage erneut zu senden hilft nicht.

So sieht es aus

HTTP/1.1 414 URI Too Long

So sendest du ihn

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

So prüfst du ihn

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

HTTP-Statuscodes öffnen