414 URI Too Long

L’URL est plus longue que ce que le serveur accepte.

Quand l’utiliser

Chaînes de requête énormes. Déplacez les données dans le corps d’un POST.

Causes courantes et solutions

L’URL de la requête dépasse une limite. Déclencheurs typiques : d’énormes query strings construites à partir de filtres ou de listes d’ID, des données base64 dans l’URL, des boucles de redirection qui ajoutent un paramètre à chaque tour (un returnUrl imbriqué dans un returnUrl), et des paramètres de suivi empilés. nginx répond 414 quand la ligne de requête ne tient pas dans large_client_header_buffers, 8k par défaut, et le LimitRequestLine d’Apache est de 8190 octets.

Gardez les URL sous 2 000 caractères environ pour être tranquille avec les navigateurs, les CDN et les outils d’analytics et de logs ; Cloudflare limite les URL à 16 Ko. La solution consiste à déplacer les données dans le corps d’un POST, ou à envoyer le filtre à un point de terminaison de recherche qui renvoie un ID court à mettre dans l’URL. Augmenter les limites du serveur fonctionne, mais chaque proxy de la chaîne a sa propre limite.

Erreur client (4xx)

Les codes 4xx sont des erreurs client : la requête elle-même est incorrecte, non autorisée ou vise quelque chose qui n’existe pas. Renvoyer la même requête ne servira à rien.

À quoi ça ressemble

HTTP/1.1 414 URI Too Long

Comment l’envoyer

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

Comment le vérifier

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

Ouvrir l’outil Codes de statut HTTP