4XX - 클라이언트 오류
4XX 오류는 우리가 제일 많이 본 오류 중 하나일 것이다.
기본적으로 클라이언트의 요청에 잘못된 문법 등으로 서버가 요청을 수행할 수가 없는 것을 뜻한다.
이 오류에서 제일 중요한 의미는 오류의 원인이 클라이언트에 있다는 부분이다.
즉, 이미 잘못된 요청과 데이터를 보내고 있기 때문에 똑같은 재시도를 하면 실패한다는 점이 중요하다.
- 400 Bad Request : 클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음
- 요청 구문이나 데이터 형식, 또는 API 스펙 등이 맞지 않을 때
- 401 Unauthorized : 클라이언트가 해당 리소스에 대한 인증이 필요함
- 인증(Authentication)이 되지 않음
- 401 오류 발생 시 응답에 WWW-Authenticate 헤더와 함께 인증 방법을 설명
- 403 Forbidden : 서버가 요청을 이해했지만 승인을 거부함
- 인증 자격 증명은 있지만, 접근 권한이 불충분한 경우
- ex : 사용자가 로그인을 하여 인증은 받았으나, 어드민 페이지 접속하려는 경우
- 404 Not Found : 요청 리소스를 찾을 수 없음
- 요청 리소스가 서버에 없음
- 또는 클라이언트가 권한이 부족한 리소스에 접근할 때 해당 리소스를 숨기고 싶을 때
5XX - 서버 오류
서버 문제로 오류 발생할 경우이다.
4XX 오류와 달리 이 오류는 책임이 서버에 있다고 보면 된다.
또다른 중요 차이점으로는 서버가 문제가 있는 것이기 때문에 동일한 요청을 재시도 하면 성공할 수 있다는 점이다.
- 500 Internal Server Error : 서버 문제로 오류 발생. 애매할 경우 500으로.
- 503 Service Unavailable : 서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리할 수 없음
- Retry-After 헤더로 얼마 뒤에 복구 되는지 보낼 수 있음
반응형
'IT 공부 > 새로운 시작' 카테고리의 다른 글
HTTP(14) - HTTP 헤더(2) (0) | 2021.12.07 |
---|---|
HTTP(13) - HTTP 헤더(1) (0) | 2021.11.10 |
HTTP(11) - HTTP 상태 코드(1) (0) | 2021.11.01 |
HTTP(10) - HTTP API 설계 예시 (0) | 2021.10.31 |
HTTP(9) - 클라이언트에서 서버로 데이터를 전송하는 케이스 (0) | 2021.10.27 |
댓글