공부하기/Network
[Network] HTTP 응답 상태 코드
다섯자두
2025. 3. 20. 10:06
🌀 HTTP 응답 코드에 대해 설명해 주세요.
- 클라이언트가 보낸 HTTP 요청이 성공적으로 완료되었는지 알려주는 코드이다.
- 3자리 숫자로 이루어져 있으며, 100번대 ~ 500번대 까지 존재한다.
- 코드의 첫 번째 자리에 따라 5개의 그룹으로 나뉜다.
| 코드 | 의미 |
| 1xx | 정보 제공 응답, 요청 처리 중 |
| 2xx | 성공, 요청 정상 처리 |
| 3xx | 리디렉션, 요청 완료를 위해 추가 작업 필요 |
| 4xx | 클라이언트 오류, 요청이 잘못됨 |
| 5xx | 서버 오류, 서버측에서 오류 발생 |
💬 200(ok)와 201(created)의 차이에 대해 설명해 주세요.
- 200(ok) : 요청이 정상 처리 되었을 때 범용적으로 사용
- 201(created) : 요청이 정상 처리 되었으며, 그 결과 서버에서 새로운 리소스를 생성했을 때 사용
- 일반적으로 POST 요청 성공 시 주로 사용된다.
💬 401 (Unauthorized) 와 403 (Forbidden)은 의미적으로 어떤 차이가 있나요?
- 401(Unauthorized) : 인증 실패, 클라이언트가 인증되지 않았거나 인증 정보가 잘못되었다는 것을 의미한다.
- 403(Forbidden) : 접근 거부, 인증은 되었으나 해당 리소스에 대한 권한이 없어 차단되었다는 것을 의미한다.
💬 필요하다면 직접 응답코드를 정의해서 사용할 수 있을까요?
- 표준 코드를 사용하는 것이 권장되지만, 사용은 가능하다.
(해봤는데 된다.)- 예를 들어, Http status에 ``800``을 넣어서 응답하는 것 가능
- 표준이 아니므로 다른 시스템과 연동할 때 예상치 못 한 오류가 발생할 수 있다.
- 대안 1 : 기존 표준 코드를 활용하되 응답 메시지로 구분하기 ( "status" : 800 )
- 대안 2 : HTTP 헤더를 활용하여 커스텀 상태 전달하기