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 LongSo sendest du ihn
| Node.js / Express | res.status(414).end() |
|---|---|
| Python / Flask | return '', 414 |
| nginx | return 414; |
So prüfst du ihn
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/