Elegir el código de estado correcto forma parte de construir un sitio web fiable, y leerlos bien acelera la depuración. Estos son los pares que más confusión causan.
301 vs 302 (y 307, 308)
Usa 301 cuando una página se ha movido para siempre, por ejemplo tras cambiar la estructura de URL o el dominio. Los navegadores lo guardan en caché y los buscadores trasladan las señales de posicionamiento a la nueva dirección. Usa 302 o 307 cuando el cambio es temporal, como durante un mantenimiento. Una redirección temporal que se deja meses puede retrasar el traspaso de posicionamiento. En las solicitudes POST, 307 y 308 garantizan que el método no se cambie a GET.
404 vs 410
404 dice que la página no se encontró, quizá temporalmente. 410 Gone dice que se eliminó a propósito y no volverá. Los buscadores tienden a retirar un 410 algo más rápido. Para una página borrada con un buen reemplazo, prefiere un 301 al reemplazo.
401 vs 403
401 significa que la solicitud no tiene credenciales válidas, así que iniciar sesión podría ayudar. 403 significa que el servidor entendió y se niega, así que hace falta otra cuenta u otro permiso.
Leer errores de pasarela
- 502: el proxy o balanceador no pudo obtener una respuesta válida de la aplicación. Comprueba si la aplicación se cayó o escucha en el puerto correcto.
- 503: el servicio está sobrecargado o fuera de servicio a propósito. A menudo va con una cabecera
Retry-After. - 504: el servidor upstream tardó demasiado. Busca consultas lentas, tiempos de espera demasiado cortos o un proceso bloqueado.
Pasos ante un error desconocido
- Abre el panel de red del navegador y lee el código exacto y las cabeceras de la respuesta.
- Comprueba la cabecera
Locationen las redirecciones para evitar bucles. - Mira los registros del servidor en el momento de la solicitud.
- Reproduce con una herramienta de línea de comandos para quitar de en medio la caché del navegador.
Preguntas frecuentes
¿Por qué obtengo un bucle de redirecciones? Dos reglas devuelven la solicitud de un lado a otro, por ejemplo forzar www y no www a la vez.
¿Debe una API devolver 200 con un mensaje de error dentro? Es preferible un código 4xx o 5xx real para que los clientes y la monitorización detecten los fallos.

