414 URI Too Long

La URL es más larga de lo que admite el servidor.

Cuándo usarlo

Cadenas de consulta enormes. Pasa los datos al cuerpo de un POST.

Causas habituales y soluciones

La URL de la solicitud supera un límite. Desencadenantes típicos: query strings enormes construidas a partir de filtros o listas de ID, datos en base64 en la URL, bucles de redirección que añaden un parámetro en cada vuelta (un returnUrl anidado dentro de otro returnUrl) y parámetros de seguimiento acumulados. nginx responde 414 cuando la línea de solicitud no cabe en large_client_header_buffers, 8k por defecto, y LimitRequestLine de Apache es de 8190 bytes.

Mantén las URL por debajo de unos 2000 caracteres para ir sobre seguro con navegadores, CDN y herramientas de analítica y de logs; Cloudflare limita las URL a 16 KB. La solución es mover los datos al cuerpo de un POST, o enviar el filtro por POST a un endpoint de búsqueda que devuelva un ID corto para poner en la URL. Aumentar los límites del servidor funciona, pero cada proxy de la cadena tiene su propio límite.

Error del cliente (4xx)

Los códigos 4xx son errores del cliente: la solicitud en sí es incorrecta, no está autorizada o apunta a algo que no existe. Repetir la misma solicitud no servirá de nada.

Cómo se ve

HTTP/1.1 414 URI Too Long

Cómo enviarlo

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

Cómo comprobarlo

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

Abrir Códigos de estado HTTP