← 질문 목록
#147깊이 0
실패 응답 코드는 무엇을 기준으로 고르는가?
요청이나 인증·권한·사용량 제한 같은 클라이언트 측 조건 때문에 처리할 수 없으면 4xx를 쓴다. 서버가 정상 요청을 처리하지 못하면 5xx를 쓴다. 원인과 재시도 가능성을 코드에 담아야 한다.
| 기준 | 4xx | 5xx |
|---|---|---|
| 책임 | 요청 또는 권한 | 서버 처리 |
| 예 | 400, 404, 409 | 500, 503, 504 |
400은 요청 형식이 잘못된 경우다. 401은 인증이 필요하고 403은 신원을 알아도 권한이 없다. 존재를 숨기려면 404를 택할 수도 있다.
409는 현재 자원 상태와 충돌할 때 적합하다. 문법은 맞지만 필드 검증에 실패한 요청은 API 규약에 따라 400 또는 422로 일관되게 처리한다.
503은 일시적 과부하나 점검을 알린다. Retry-After를 주면 재시도 시점을 안내할 수 있다. 내부 오류를 모두 200으로 감싸면 중간 장비가 실패를 오해한다.
추천 꼬리질문
관련 질문
- 리소스 API의 성숙도를 무엇으로 판단하는가?네트워크리소스 API의 성숙도(Richardson Maturity Model)는 HTTP 상태 코드와 메서드의 적절한 사용 여부를 통해 판단하며, 또한 실패 응답 코드 선택 기준을 다룬다.
- HTTP 메서드 선택의 기준은 무엇인가?네트워크HTTP 메서드 선택과 HTTP 상태 코드 선택은 모두 HTTP 요청/응답 메시지 설계의 일부이다.
- HTTP 상태 코드는 어떤 기준으로 분류하는가?네트워크HTTP 상태 코드를 분류하는 기준과 실패 응답 코드를 선택하는 기준은 모두 HTTP 응답 상태 코드 체계를 다루는 개념이다.
- 예외를 어디서 HTTP 응답으로 바꾸는가?프레임워크예외를 응답으로 바꾸는 과정에서 어떤 실패 응답 코드를 사용할지 결정하는 기준이 필요하다.
- HTTP 메서드 선택 기준은 무엇인가?네트워크HTTP 메서드와 상태 코드는 모두 HTTP 요청-응답 프로토콜의 핵심 구성 요소로서 통신 의도를 정의하는 기준을 다룬다.