4xx (Client Error) 클라이언트 오류
이 오류는 클라이언트가 서버에 잘못된 요청을 보내거나, 문법 등의 오류로 인해 서버가 요청을 수행할 수 없는 경우 발생한다. 클라이언트가 이미 잘못된 요청이나 데이터를 보내고 있기 때문에, 같은 요청을 재시도해도 실패하게 된다.
▶️400 Bad Request
400 Bad Request는
클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없는 경우를 의미한다. 이 오류는 요청 구문, 메시지 등에서 오류가 발생한 경우에 발생한다. 예를 들어, 요청 파라미터가 잘못된 경우나 API 스펙이 맞지 않은 경우에 발생할 수 있다.
▶️401 Unauthorized
401 Unauthorized는
클라이언트가 해당 리소스에 대한 인증이 필요하다는 것을 의미한다. 클라이언트가 인증되지 않은 경우에 발생하는 오류로, 인증되지 않은 요청이 해당 리소스에 접근하려는 시도를 하는 경우에 발생하는데. 클라이언트는 인증되지 않은 상태에서 해당 리소스에 접근하려는 경우에는 먼저 인증을 해야 한다.
401 오류가 발생하면, 서버는 응답에 WWW-Authenticate 헤더를 함께 보내어 인증 방법을 설명한다.
참고
- 인증(Authentication)은 클라이언트가 본인이 누구인지 확인하는 과정으로, 로그인을 하거나 다른 인증 방법을 사용하여 인증을 수행한다.
- 인가(Authorization)는 클라이언트가 특정 리소스에 접근할 수 있는 권한을 부여받는 과정으로, 인증이 되어야 인가를 받을 수 있다.
▶️403 Forbidden - 서버가 요청을 이해했지만, 승인을 거부
403 Forbidden은
주로 인증 자격 증명은 있지만, 접근 권한이 불충분한 경우에 발생한다. 예를 들어, 로그인은 했지만 어드민 등급이 아닌 사용자가 어드민 등급의 리소스에 접근하려고 할 때 이 오류가 발생할 수 있다.
▶️404 Not Found
404 Not Found는
요청한 리소스가 서버에 없는 경우 또는 클라이언트가 권한이 부족한 리소스에 접근하려고 할 때 해당 리소스를 숨기고 싶을 때도 발생할 수 있다.
5xx (Server Error)
이 오류는 클라이언트가 요청을 정상적으로 보냈지만, 서버에서 오류가 발생하여 요청을 처리할 수 없는 경우에 발생한다. 서버에서 발생하는 오류로 인해 클라이언트가 원하는 응답을 받을 수 없으므로, 클라이언트는 재시도를 할 수 있지만, 서버 문제로 인해 성공할 수도 실패할 수도 있다.
▶️500 Internal Server Error
500 Internal Server Error는
서버 내부의 문제로 인해 발생하는 오류로, 웹 서버에서 예상치 못한 문제가 발생하여 요청을 처리할 수 없는 상태가 되었을 때 발생한다.
▶️503 Service Unavailable
503 Service Unavailable는
서비스 이용 불가 상태를 의미한다. 일시적인 과부하나 예정된 작업으로 인해 서버가 잠시 요청을 처리할 수 없는 상태일 때 발생하며, Retry-After 헤더 필드를 통해 얼마나 기다려야 하는지 알려줄 수 있다.
출처 : 인프런 - 모든 개발자를 위한 HTTP 웹 기본지식 by 우아한형제 김영한이사님
'WEB HTTP > HTTP 기본' 카테고리의 다른 글
HTTP헤더 - 전송방식 (0) | 2023.03.21 |
---|---|
HTTP 헤더 - 콘텐츠 협상 (0) | 2023.03.21 |
HTTP 상태코드 - 리다이렉션(Redirection)이해 (0) | 2023.03.20 |
HTTP 상태코드 (0) | 2023.03.20 |
HTTP API 설계 (0) | 2023.03.20 |