HTTP

[HTTP 상태 코드] 4xx - 클라이언트 오류, 5xx - 서버 오류

JWonK 2022. 2. 4. 15:34
728x90
반응형

4xx (Client Error)

클라이언트 오류

  • 클라이언트의 요청에 잘못된 문법 등으로 서버가 요청을 수행할 수 없음
  • 오류의 원인이 클라이언트에 있음
  • 중요 !! 클라이언트가 이미 잘못된 요청, 데이터를 보내고 있기 때문에, 똑같은 재시도가 실패

 


마지막 중요 문장이 왜 중요하냐면 

4xx 오류일 경우 클라이언트 오류이기 때문에 처음부터 잘못된 요청을 시도한 것이다. 따라서 같은 요청을 계속해서 하더라도 똑같은 실패가 발생한다.

 

하지만 5xx 오류일 경우 서버 오류이므로 현재는 오류가 발생할 수 있지만 후에는 서버가 같은 요청을 처리할 수 있을 수 있다. 따라서 4xx 오류와 달리 계속해서 실패가 발생하지 않을 가능성이 존재하며 이는 4xx와 차이점이 된다.


400 Bad Request

클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음

  • 요청 구문, 메시지 등등 오류
  • 클라이언트는 요청 내용을 다시 검토하고, 보내야함
  • ex) 요청 파라미터가 잘못되거나, API 스펙이 맞지 않을 때 

 

401 Unautrhorized

클라이언트가 해당 리소스에 대한 인증이 필요함

  • 인증(Authentication) 되지 않음
  • 401 오류 발생시 응답에 www-Authenticate 헤더와 함께 인증 방법을 설명
  • 참고
    • 인증(Authentication): 본인이 누구인지 확인 (로그인)
    • 인가(Authorization): 권한 부여(ADMIN 권한처럼 특정 리소스에 접근할 수 있는 권한, 인증이 있어야 인가가 있음)
    • 오류 메시지가 Unauthorized 이지만 인증이 되지 않음

 

403 Forbidden

서버가 요청을 이해했지만 승인을 거부함

  • 주로 인증 자격 증명은 있지만, 접근 권한이 불충분한 경우
  • ex) 어드민 등급이 아닌 사용자가 로그인은 했지만, 어드민 등급의 리소스에 접근하는 경우

 

404 Not Found

요청 리소스를 찾을 수 없음

  • 요청 리소스가 서버에 없음
  • 또는 클라이언트가 권한이 부족한 리소스에 접근할 때 해당 리소스를 숨기고 싶을 때 

 

 

728x90
반응형