4xx vs 5xx: 클라이언트 오류와 서버 오류

오류의 책임이 어느 쪽에 있는지 빠르게 판단하는 기준을 제시합니다.

4xx는 클라이언트 오류 구간입니다. 요청 자체에 문제가 있다는 뜻으로, 잘못된 URL(404), 문법 오류(400), 권한 부족(401·403), 요청 과다(429) 등이 여기 속합니다. 같은 요청을 그대로 다시 보내도 대개 같은 결과가 나오므로, 요청을 고쳐야 합니다.

5xx는 서버 오류 구간입니다. 요청은 유효했지만 서버가 처리에 실패했다는 뜻으로, 내부 예외(500), 업스트림 불량(502), 과부하·점검(503), 게이트웨이 타임아웃(504) 등이 있습니다. 클라이언트가 고칠 수 있는 문제가 아니므로 서버 로그와 백엔드 상태를 확인해야 합니다.

디버깅 순서로 보면, 4xx가 보이면 요청 URL·헤더·본문·인증을 먼저 점검하고, 5xx가 보이면 서버 로그·업스트림·리소스 사용량을 확인하는 것이 빠릅니다. 502·503·504는 대개 리버스 프록시 뒤 백엔드 문제와 관련됩니다.