Error 400 Bad Request: ¿Qué es y cómo solucionarlo?

¿Qué es un error 400 bad request?

Un error 400 es un código de estado HTTP que se engloba en los código de error de cliente.

Estos códigos de error suelen producirse porque la solicitud realizada por el cliente (entendiendo por cliente un navegador, un script, etc.) contiene una sintaxis incorrecta o que no puede ser procesada por el servidor.

Un ejemplo de código de este tipo de los más conocidos es el 404, que se produce cuando un cliente envía una solicitud de una URL incorrecta al servidor.

El mensaje de error 400, aunque menos conocido debido a que suele darse mucho menos, sucede cuando un cliente parece haber enviado una solicitud incorrecta al servidor.

Por poner un ejemplo: un cliente envía una petición de tipo POST (guardado de datos, como la que enviaría normalmente un formulario) a una URL que solamente acepta peticiones de tipo GET (las que hacemos para obtener una página web).

Por convención, un código de respuesta 400, a menos que se genere en una petición de tipo HEAD (son un tipo específico de peticiones HTTP usadas para obtener solamente las cabeceras), el servidor responderá siempre indicando por qué se ha producido el error.

Suscríbete a nuestra newsletter
¡Suscríbete a nuestra newsletter!

No te enviaremos spam, ¡te lo prometemos!. A nuestros suscriptores les enviamos nuestros contenidos sobre WordPress, hosting, marketing digital y programación.

 

Causas de un error 400

Como veníamos explicando, las causas de un error 400 son múltiples, pero están originadas siempre en una solicitud incorrecta del navegador (al menos, a ojos del servidor) de la herramienta que funciona a modo de cliente. A continuación, vamos a ver algunas de las causas más comunes que pueden producir este tipo de error:

Error en la URL del navegador

Si escribimos mal la URL del sitio web que queremos visitar podemos generar fácilmente un error 400 en vez de un error 404, como estamos acostumbrados.

Normalmente, al escribir en un navegador una URL incorrecta se nos devolverá un código de estado 404, es decir, un mensaje indicando que la URL no ha sido encontrada.

Además, los servidores acostumbran a estar preparados para comportarse de forma que envíen al cliente a una URL distinta, donde no se muestre el error.

Esto sucede, por ejemplo, en raiolanetworks.es. Si accedemos a en el navegador, veremos la página de inicio. No sucede así si miramos, mediante herramientas algo más avanzadas, cómo se comporta la web:

Petición inválida del navegador

Si por algún motivo el navegador no envía correctamente la comunicación al servidor, entonces se producirá un error de tipo 400 debido a que la comunicación no es correcta.

Este error es poco frecuente y suele darse asociado a pérdidas de red. Dado que las comunicaciones entre un cliente y servidor tienen mecanismos de control para este problema, no suele ser demasiado habitual.

En el siguiente ejemplo he forzado un error 400 conectándome a un servidor y realizando una petición con un mensaje incorrecto «GET / HTTP1.0». El mensaje correcto sería «GET / HTTP/1.0«, en cuyo caso se permitiría continuar la comunicación:

Caché DNS

Debido a la caché DNS de nuestro equipo o nuestro proveedor de internet, podríamos generar un error 400.

El funcionamiento de internet se basa en «traducir» los nombres de dominio a una dirección IP.

Si nos conectamos a la IP incorrecta y le pedimos la web de un dominio que no tiene, el servidor podría devolvernos un código de estado HTTP 400.

Cookies o sesión corrupta

Este error podemos verlo al hacer peticiones en formularios web, por ejemplo.

Ciertos formularios web, como los de los sistemas de envío de correo electrónico, utilizan una característica llamada CSRF, que protege el formulario contra peticiones caducadas o no deseadas.

Si guardamos las cookies de sesión de un sitio web que sirve para enviar mails (un webmail, por ejemplo) mucho tiempo y, después de eso, intentamos enviar un mail, entonces podemos recibir un error 400 causado por este tipo de petición.

En el siguiente ejemplo he editado el código de seguridad que envía el navegador al enviar un email, por lo que al rellenar el formulario me impide enviar el email.

Error 400 bad request producido por petición incorrecta del navegador

Solucionar el error 400 desde nuestro navegador web

Si estamos teniendo el error 400 en un sitio web, debemos pensar que hay algo que no está funcionando correctamente de nuestro lado.

Ya sea un problema de configuración en el navegador o bien una cookie corrupta, lo mejor que podemos hacer es investigar un poco por nuestra cuenta qué hacer para solucionarlo.

Revisar la URL

Dado que escribir una URL incorrecta puede generar un error 400, la solución más sencilla suele ser comenzar por lo más obvio, que es revisar que hemos escrito la URL correctamente en el navegador.

Si la hemos escrito a mano deberemos repasarla minuciosamente, quitando cualquier carácter en que nos hayamos podido equivocar, para subsanar el problema.

Eliminar las cookies del sitio web y borrarlo de la caché del navegador

Dado que una cookie corrupta puede ser el origen del problema del error 400, borrar la información que el navegador tiene almacenada sobre nuestro sitio suele ser uno de los primeros pasos. Podemos borrar las cookies de un sitio web en Firefox de la siguiente forma:

  • Pulsa F12.
  • Ve a la pestaña Almacenamiento.
  • En el apartado «Cookies», haz clic izquierdo sobre la cookie a borrar y pulsa «Borrar todo».

Borrar cookies del navegador en las herramientas de desarrollo del navegador

Si esto no fuera suficiente, entonces podrías forzar un borrado de más contenidos en:

  • Editar
  • Herramientas
  • Privacidad y seguridad
  • Gestionar datos
  • Busca el sitio web y pulsa Eliminar todos los mostrados

Borrar cookies del navegador en las preferencias del navegador

Comprobar la resolución DNS y vaciar la caché de nuestro equipo/navegador

En caso de persistir el problema, podrías probar el vaciado de la caché DNS de tu navegador o equipo.

Todos los navegadores cuentan con un sistema de caché DNS que nos ayuda a cargar más rápidamente las webs, pero puede provocar errores en caso de haber cambios de DNS recientes.

Para borrar la caché DNS en Firefox puedes hacer lo siguiente:

  • Abre una nueva pestaña
  • Escribe ‘about:networking’
  • Ve a la pestaña DNS
  • Pulsa Clear DNS Cache

Borrar caché DNS en el navegador web

Si el problema de DNS está en tu equipo, dependerá del sistema operativo que estés usando, pero con limpiar la caché DNS del navegador suele ser suficiente.

Revisar el encabezado de la petición web

Si el paso anterior de revisar la URL no nos soluciona el error, entonces podemos abrir la consola del navegador y analizar la petición que hemos realizado, revisando las cabeceras.

Esta gestión es un poco más avanzada y requiere conocer en profundidad cómo funciona una petición web realizada desde el navegador, qué métodos HTTP están involucrados y cómo funciona por debajo un navegador, por lo que suele utilizarse para depurar el problema.

Conclusiones

Como hemos visto, el error 400 es un error de tipo cliente, es decir, producido porque la aplicación que se conecta al servidor web no está haciendo algo bien, por lo que la solución debe partir de nuestro lado en primera instancia.

En este tipo de situaciones debemos ser nosotros los que, como usuarios, tratemos de buscar la causa del problema revisando nuestros equipos y programas de trabajo habituales.

Integrante del equipo de Soporte Técnico de Raiola Networks. Apasionado de Linux, el software libre y su filosofía. En mi tiempo libre me gusta cocinar y cuidar de la huerta.
Compartir en Twitter
Compartir en Facebook
Compartir en Pinterest

Tenemos 0 comentarios en

"Error 400 Bad Request: ¿Qué es y cómo solucionarlo?"

Deja una respuesta

Tu dirección de correo electrónico no será publicada.