DNS RobotDNS Propagation Checker
InicioDNSWHOISIPSSL
DNS RobotDNS Propagation Checker

Kit de herramientas DNS de nueva generación

Política de PrivacidadTérminos de ServicioAcerca de NosotrosBlogContacto

Herramientas DNS

Consulta DNSPrueba de Velocidad DNSDominio a IPConsulta NSConsulta MXVer todo

Herramientas de Correo

Verificador de Registro SPFVerificador DMARCVerificador DKIMHerramienta de Prueba SMTPAnalizador de Cabeceras de CorreoVer todo

Herramientas Web

Consulta WHOISComprobador de HostingDisponibilidad de DominioBuscador de SubdominiosDetector de CMSVer todo

Herramientas de Red

Herramienta PingTracerouteVerificador de PuertosVerificador de Cabeceras HTTPVerificador de Certificado SSLVer todo

Herramientas IP

Consulta de IPCuál Es Mi IPVerificador de Lista Negra IPIP a HostnameConsulta ASNVer todo

Herramientas Útiles

Escáner de Código QRGenerador de Código QRUPI QR Code GeneratorWiFi QR Code GeneratorTraductor de Código MorseVer todo
© 2026 DNS Robot. Desarrollado por: ❤ Shaik Brothers
Todos los sistemas operacionales
Made with
Inicio/Blog/400 Bad Request: qué significa y cómo solucionarlo

400 Bad Request: qué significa y cómo solucionarlo

Shaik Vahid30 sept 20269 min de lectura
Página de nginx con el error 400 Bad Request: Request Header Or Cookie Too Large y las soluciones que conviene probar, en orden
Página de nginx con el error 400 Bad Request: Request Header Or Cookie Too Large y las soluciones que conviene probar, en orden

Punto clave

Un 400 Bad Request significa que el servidor recibió tu petición pero se negó a procesarla porque algo en ella parecía mal formado: una URL rota, cookies o cabeceras demasiado grandes o dañadas, o datos no válidos enviados a una API. Como visitante, revisa la URL en busca de caracteres extraños y luego borra las cookies y la caché de ese sitio concreto. Eso resuelve la mayoría de los casos. Como propietario del sitio, lee la página de error y los logs: "Request Header Or Cookie Too Large" significa que debes reducir las cookies o subir los límites de cabeceras, y "plain HTTP request was sent to HTTPS port" significa que un proxy está hablando HTTP con un puerto TLS.

Advertisement

¿Qué es el error 400 Bad Request?

400 Bad Request es un código de estado HTTP que significa que el servidor recibió tu petición pero no la va a procesar porque algo en la propia petición parece incorrecto. El estándar HTTP (RFC 9110, sección 15.5.1) lo define como la situación en la que el servidor no puede o no quiere procesar una petición "due to something that is perceived to be a client error" (por algo que se percibe como un error del cliente), como una sintaxis mal formada, un encuadre de mensaje no válido o un enrutamiento engañoso de la petición.

A diferencia de un error 500, que significa que el servidor falló, un 400 señala a la petición: la URL, las cabeceras, las cookies o los datos que envió tu navegador o tu aplicación. Normalmente el sitio web funciona bien para todos los demás.

Es una buena noticia para los visitantes, porque la solución suele estar de tu lado y lleva un minuto: detrás de la mayoría de los errores 400 hay un enlace mal escrito o una cookie dañada.

Nota

Un error 400 tiene que ver con la petición, no con el acceso. Si el servidor te entendió pero no te deja entrar, recibes 401 Unauthorized o 403 Forbidden. Si envías demasiadas peticiones, recibes 429 Too Many Requests.

Cómo se ve un error 400

El mensaje depende del software del servidor, y el texto adicional suele ser la mejor pista sobre la causa:

ServidorLo que dice la páginaCausa habitual
nginx400 Bad Request: Request Header Or Cookie Too LargeCookies o cabeceras por encima del límite de nginx
nginx400 Bad Request: The plain HTTP request was sent to HTTPS portSe envió HTTP a un puerto que espera HTTPS
ApacheBad Request: Your browser sent a request that this server could not understand.Petición mal formada o un campo de cabecera demasiado grande
IIS (HTTP.sys)Bad Request - Invalid URL. HTTP Error 400. The request URL is invalid.Caracteres no permitidos o mal codificados en la URL
IIS (HTTP.sys)Bad Request - Request Too Long. The size of the request headers is too long.Demasiadas cookies o cookies demasiado grandes
Google400. That's an error. Your client has issued a malformed or illegal request.URL rota o cookies dañadas

Advertisement

¿Qué causa un error 400 Bad Request?

  • Una URL mal formada. Un signo % suelto, un espacio, un carácter que debería haberse codificado, o un enlace que se cortó o se pegó dos veces.

  • Cookies dañadas o demasiado grandes. Los sitios que crean muchas cookies (inicios de sesión, tests A/B, analítica) pueden hacer que la cabecera Cookie supere el límite del servidor. Una cookie que se dañó durante una actualización también puede ser rechazada.

  • Cabeceras de petición demasiado grandes. Además de las cookies, los tokens de autenticación largos o las cabeceras que añaden las extensiones y los proxies van sumando.

  • Datos no válidos enviados a una API. Faltan campos obligatorios, el JSON está mal formado o la cabecera Content-Type es incorrecta.

  • HTTP enviado a un puerto HTTPS. Es habitual detrás de balanceadores de carga y proxies inversos.

  • Un archivo demasiado grande. Muchos servidores responden 413 Content Too Large, pero algunas aplicaciones y frameworks devuelven 400 en su lugar.

Solución 1: revisa la URL

Mira con atención la barra de direcciones. Estos son los problemas a los que conviene estar atento:

  • Un % que no va seguido de dos caracteres hexadecimales (%20 es correcto; %2 o %zz no).

  • Espacios, { }, |, \ u otros caracteres poco habituales, sobre todo en enlaces copiados de correos, PDF o aplicaciones de chat.

  • Un enlace que se pegó dos veces (https://example.com/https://example.com/...) o que quedó cortado a medias.

  • Una URL muy larga con parámetros de seguimiento. Borra todo a partir del ? y vuelve a intentarlo.

Consejo

Las aplicaciones de correo y de chat suelen envolver los enlaces en redirecciones de seguimiento que pueden estropear las URL largas. Si un enlace de un correo da un 400, copia la dirección original (o escribe tú mismo la dirección del sitio) en lugar de hacer clic.

Si llegaste desde un enlace de otro sitio, ve a la página de inicio del sitio y navega desde allí hasta la página.

Advertisement

Solución 2: borra las cookies solo de ese sitio

Esto resuelve la mayoría de los errores 400 en sitios que ya habías usado, sobre todo los mensajes que hablan de cookies o cabeceras "too large" o "too long" (demasiado grandes o demasiado largas). No hace falta borrar las cookies de todos los sitios, solo las de este:

  • Chrome / Edge: haz clic en el icono a la izquierda de la barra de direcciones → Cookies y datos de sitios (o Configuración del sitio) → elimina los datos del sitio y recarga.

  • Firefox: haz clic en el candado → Limpiar cookies y datos del sitio…

  • Safari (Mac): Safari → Ajustes → Privacidad → Gestionar datos de sitios web… → busca el sitio → Eliminar.

  • iPhone: Ajustes → Apps → Safari → Avanzado → Datos de sitios web → desliza el sitio hacia la izquierda para eliminarlo.

Consejo

Borrar las cookies de un sitio cierra tu sesión en él. Antes de borrarlas, asegúrate de que sabes tu contraseña o de que tienes a mano tu gestor de contraseñas.

Solución 3: prueba en modo incógnito y luego borra la caché

Abre la página en una ventana de incógnito/privada (Ctrl + Shift + N en Chrome y Edge, Ctrl + Shift + P en Firefox, Cmd + Shift + N en Safari). Las ventanas privadas empiezan sin cookies y sin extensiones, así que si la página funciona ahí, la solución 2 o la 4 lo resolverán de forma definitiva.

Si el modo incógnito también falla, borra la caché del navegador (Ctrl + Shift + Supr → Imágenes y archivos almacenados en caché) y, como último paso, vacía la caché DNS. El DNS rara vez causa un 400, pero cuando un sitio cambia de servidores, una dirección desactualizada puede llevarte a un servidor que rechaza tu petición.

Advertisement

Solución 4: desactiva las extensiones y revisa el tamaño de los archivos

Las extensiones que modifican las peticiones, como las herramientas de privacidad, los editores de cabeceras, los buscadores de cupones y algunos bloqueadores de anuncios, pueden añadir o cambiar cabeceras de una forma que el servidor rechaza. Desactívalas todas, recarga y luego vuelve a activarlas de una en una para encontrar a la culpable.

Si el error aparece al subir un archivo, prueba con uno más pequeño. Comprime las imágenes o divide los archivos grandes. Así sabrás si el servidor está rechazando el tamaño, aunque lo notifique como un 400 en lugar de un 413.

Para propietarios de sitios web: cómo encontrar la causa de los errores 400

Si los usuarios te informan de errores 400 en tu sitio, empieza por el mensaje exacto que ven y por los logs del servidor. nginx y Apache registran el motivo en el nivel info, así que sube temporalmente el nivel del log de errores si no lo ves; el log de acceso muestra qué URL devuelven 400. La herramienta Cabeceras HTTP de DNS Robot muestra el código de estado, el software del servidor y todas las cabeceras Set-Cookie que envía una página, lo que te ayuda a detectar cookies que no paran de crecer.

bash
# ¿Qué peticiones reciben un 400? (formato de log combined de nginx)
sudo awk '$9 == 400 {print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head

# Los motivos que registró nginx (requiere error_log ... info;)
sudo grep -i "client sent\|too large\|bad request" /var/log/nginx/error.log | tail -20

Advertisement

"Request Header Or Cookie Too Large"

nginx lee las cabeceras de la petición en búferes definidos por large_client_header_buffers, que por defecto son 4 búferes de 8 KB. Una sola línea de cabecera que no cabe en un búfer, normalmente la cabecera Cookie, provoca este 400. El límite equivalente en Apache es LimitRequestFieldSize, de 8190 bytes por defecto.

La solución correcta es enviar menos: elimina las cookies que ya no necesitas, mantén pequeñas las cookies de sesión y limita cada cookie a las rutas y subdominios que la usan. Si de verdad necesitas cabeceras más grandes, por ejemplo para tokens grandes de inicio de sesión único (SSO), sube el límite:

nginx
# nginx (bloque http o server)
large_client_header_buffers 4 16k;

# Equivalente en Apache (httpd.conf / vhost)
# LimitRequestFieldSize 16380

Advertencia

Si estás detrás de una CDN o de un balanceador de carga, cada capa tiene su propio límite de cabeceras. Subir el límite de nginx no servirá de nada si la CDN rechaza la petición antes, así que revisa cada capa. Node.js, por ejemplo, rechaza las cabeceras de más de 16 KB con 431 Request Header Fields Too Large.

"The plain HTTP request was sent to HTTPS port"

nginx devuelve este 400 cuando algo envía HTTP sin cifrar a un puerto en el que nginx espera TLS, normalmente el 443. Las causas típicas son un balanceador de carga o un proxy que reenvía tráfico http:// al puerto 443, un enlace con http://example.com:443 o una antigua directiva ssl on; que hace que un puerto espere TLS cuando no debería.

Asegúrate de que cada línea listen coincide con lo que llega a ella: listen 443 ssl; para HTTPS y listen 80; para HTTP sin cifrar, con una redirección del 80 al 443. Asegúrate también de que el proxy que tienes delante habla HTTPS con el 443 (o HTTP con el 80).

Errores 400 de las API

Las API usan el 400 para las peticiones que no superan la validación. Si estás llamando a una API, lee el cuerpo de la respuesta, porque la mayoría de las API explican qué campo es incorrecto. Después comprueba que envías un JSON válido, la cabecera Content-Type: application/json correcta y todos los parámetros obligatorios.

Si estás creando una API, devuelve un cuerpo que indique el problema (por ejemplo, {"error": "email is required"}), y plantéate usar 422 Unprocessable Content para las peticiones bien formadas pero semánticamente no válidas, reservando el 400 para las peticiones que ni siquiera se pueden interpretar.

Nota

Para ver exactamente qué se envió, abre DevTools (F12) → Network (Red), haz clic en la petición fallida y compara sus Headers (Encabezados) y su Payload (Carga útil) con lo que espera la API, o reprodúcela con curl -v. El cuerpo de la respuesta suele indicar el campo no válido.

400 frente a 401, 403, 404, 413, 429 y 431

CódigoNombreSignificado
400Bad RequestLa petición está mal formada o no es válida
401UnauthorizedTienes que iniciar sesión o enviar credenciales válidas
403ForbiddenEl servidor te entendió pero no permite el acceso
404Not FoundNo existe nada en esa URL
413Content Too LargeLa subida o el cuerpo de la petición es demasiado grande
429Too Many RequestsHas alcanzado un límite de peticiones
431Request Header Fields Too LargeLas cabeceras, normalmente las cookies, son demasiado grandes (un 400 más específico)

Nuestras guías de los códigos vecinos: 403 Forbidden, 401 Unauthorized y 429 Too Many Requests. Para redirecciones que entran en bucle en lugar de fallar, consulta ERR_TOO_MANY_REDIRECTS; el Verificador de Redirecciones muestra cada salto.

Comprueba exactamente qué devuelve una página

El verificador de cabeceras HTTP de DNS Robot muestra el código de estado, el software del servidor y todas las cabeceras Set-Cookie de cualquier URL, para que puedas confirmar un 400 y detectar las cookies que crecen demasiado.

Probar Verificador de Cabeceras HTTP

Advertisement

Preguntas frecuentes

Significa que el servidor recibió tu petición pero se negó a procesarla porque algo en ella parecía mal formado o no válido, como una URL rota, cookies demasiado grandes o dañadas, cabeceras demasiado grandes o datos no válidos enviados a una API.

Herramientas relacionadas

HTTP Headers CheckRedirect CheckerSSL Certificate Check

Artículos relacionados

Error 403 Forbidden: Qué significa y cómo solucionarloError HTTP 401 Unauthorized: Qué Significa y Cómo SolucionarloError 429 Too Many Requests: Causas y cómo solucionarlo

Tabla de contenidos

  • ¿Qué es el error 400 Bad Request?
  • Cómo se ve un error 400
  • ¿Qué causa un error 400 Bad Request?
  • Solución 1: revisa la URL
  • Solución 2: borra las cookies solo de ese sitio
  • Solución 3: prueba en modo incógnito y luego borra la caché
  • Solución 4: desactiva las extensiones y revisa el tamaño de los archivos
  • Para propietarios de sitios web: cómo encontrar la causa de los errores 400
  • "Request Header Or Cookie Too Large"
  • "The plain HTTP request was sent to HTTPS port"
  • Errores 400 de las API
  • 400 frente a 401, 403, 404, 413, 429 y 431
  • Preguntas frecuentes