status families

HTTP 상태 코드는 첫 자리로 응답 범주를 먼저 읽는다

상태 코드는 서버 내부 오류명이 아니라 클라이언트가 다음 행동을 정하도록 보내는 프로토콜 신호다.

1xxInformational요청 처리 전 중간 상태
2xxSuccessful요청 의미가 성공적으로 처리됨
3xxRedirection다른 URI나 캐시 재검증 필요
4xxClient Error요청 형식, 인증, 권한, 리소스 문제
5xxServer Error서버가 유효한 요청을 처리하지 못함
질문대표 코드클라이언트 행동
인증 정보가 없거나 만료됐나?401인증을 다시 시도한다.
요청은 이해됐지만 허용되지 않나?403권한 문제로 사용자에게 알려준다.
리소스 위치가 바뀌었나?301 / 302 / 307 / 308메서드 보존 여부를 확인해 재요청한다.
서버가 나중에 다시 받기를 원하나?429 / 503Retry-After와 지수 백오프를 본다.

포인트: 4xx와 5xx를 구분하면 “요청을 고칠지, 서버 복구를 기다릴지”가 바로 결정된다.