4xx vs 5xx: errores del cliente y del servidor

Ofrece un criterio rápido para determinar de qué lado recae la responsabilidad de un error.

4xx es la clase de errores del cliente. Significa que la solicitud en sí tiene un problema e incluye cosas como una URL incorrecta (404), un error de sintaxis (400), permisos insuficientes (401, 403) y demasiadas solicitudes (429). Reenviar la misma solicitud tal cual suele dar el mismo resultado, así que hay que corregir la solicitud.

5xx es la clase de errores del servidor. Significa que la solicitud era válida, pero el servidor no pudo procesarla, e incluye excepciones internas (500), un upstream defectuoso (502), sobrecarga o mantenimiento (503) y tiempos de espera de la puerta de enlace (504). No son problemas que el cliente pueda solucionar, así que hay que revisar los registros del servidor y el estado del backend.

En cuanto al orden de depuración, cuando ves un 4xx es más rápido revisar primero la URL, las cabeceras, el cuerpo y la autenticación de la solicitud, y cuando ves un 5xx revisar los registros del servidor, el upstream y el uso de recursos. 502, 503 y 504 suelen estar relacionados con problemas del backend detrás de un proxy inverso.