Qué significan los errores HTTP 404 y 500

Resumen

Los status code HTTP son los códigos que un servidor devuelve cuando haces una petición web, y entenderlos es clave para hacer web scraping, depurar errores y saber por qué una página no carga. Si alguna vez viste el famoso 404 con memes de gatitos, ya tuviste tu primer encuentro con ellos.

Cómo funciona el protocolo HTTP entre cliente y servidor

Cuando navegas por internet, tu navegador actúa como cliente y envía una petición (request) a un servidor que aloja los recursos. El servidor responde con un response, que es lo que terminas viendo en pantalla.

Todo este intercambio ocurre gracias a HTTP, el Hypertext Transfer Protocol o protocolo de transferencia de hipertexto. Es la base sobre la que se sostiene la web tal como la conoces.

¿Qué es HTTP? Es el protocolo de comunicación que permite el intercambio de información entre un cliente (tu navegador) y un servidor. Cada vez que abres una página, HTTP está trabajando detrás.

Qué significan los status code 200 y 400 más comunes

Los códigos de estado se agrupan por familias según el primer dígito. Así sabes de un vistazo si algo salió bien o dónde está el problema.

Cuándo aparece el status code 200 OK

El 200 significa que tu petición fue exitosa y el recurso está disponible. Es el equivalente digital a un todo bien por aquí. Cuando lo ves, tu request llegó, el servidor lo procesó y te devolvió el contenido sin problema.

Qué errores indican los status code 400, 404, 422, 429 y 496

Los códigos que empiezan en 4 apuntan a errores del lado del cliente, es decir, algo que tú o tu script estás haciendo mal:

  • 400 Bad Request: enviaste una petición mal formada.
  • 404 Not Found: el recurso que pides no está disponible en el servidor.
  • 422: estás pasando un parámetro que no es el correcto.
  • 429 Too Many Requests: hiciste demasiadas peticiones en muy poco tiempo y el servidor no puede procesarlas. Es muy común en web scraping.
  • 496: falta un certificado SSL válido, normalmente por un tema de protocolo de seguridad.

El 429, en particular, es uno con el que vas a toparte seguido si automatizas peticiones. Cuando un servidor recibe muchas requests seguidas desde el mismo cliente, se protege limitando las respuestas.

¿Por qué me sale el error 429 al hacer scraping? Porque estás enviando peticiones más rápido de lo que el servidor puede o quiere procesar. La solución suele ser agregar pausas entre requests o reducir la frecuencia.

Por qué los status code 500 son errores del servidor

Los códigos que empiezan en 5 indican problemas del servidor, no tuyos. Puede que esté caído, en mantenimiento o actualizándose. La buena noticia: suelen ser errores temporales.

Si te encuentras con un 500, espera un par de minutos y vuelve a intentar acceder al recurso. Muchas veces el problema se resuelve solo desde el otro lado.

¿Qué hago si recibo un error 500? Espera unos minutos y reintenta. Si persiste, el servidor probablemente está caído y no depende de ti resolverlo.

Resumen rápido de las familias de status code HTTP

Para que lo tengas a mano cuando empieces a hacer peticiones:

  • 2xx: éxito, tu petición funcionó.
  • 4xx: error del cliente, revisa tu request.
  • 5xx: error del servidor, espera y reintenta.

Con esto ya tienes el mapa básico para interpretar lo que pasa cuando intentas acceder a recursos como títulos, precios o productos de un e-commerce de libros. ¿Cuál de estos códigos te ha tocado más veces? Cuéntalo en los comentarios.