본문 바로가기
IT 공부/새로운 시작

HTTP(12) - HTTP 상태 코드(2)

by 수박한암살자 2021. 11. 6.

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 헤더로 얼마 뒤에 복구 되는지 보낼 수 있음

 

반응형

댓글