HTTP 웹 기본지식 - HTTP 상태코드 (2)

※ 해당 내용은 '모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한' 강의를 듣고 정리한 내용 + 개인이 더 찾아본 정보입니다.

 

1xx: 요청 처리중

2xx: 요청 정상 처리

3xx: 요청을 완료하려면 추가 행동이 필요 (Location으로 이동)

4xx: 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음

5xx: 서버 오류, 서버가 정상 요청을 처리하지 못함

 

4. 4xx (클라이언트 오류)

 - 클라이언트의 요청이 잘못되어 서버가 요청을 수행할 수 없음.

 - 오류의 원인이 '클라이언트'에게 있음

 - 똑같은 재시도가 실패함 -> 요청 자체가 잘못됐기 때문!

 

  1) 400 Bad Request: 클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음

       ex) 요청파라미터가 잘못됐거나, 요청의 API 스펙이 맞지 않을 때

 

  2) 401 Unauthorized: 클라이언트가 해당 리소스에 대한 인증이 필요함.

       - 응답에 WWW-Authenticate 헤더와 함께 인증방법 설명

       ex) 로그인이 안 됐을 때

 

       ※ 인증 (Authentication): 로그인 확인 (본인이 누구인지 확인)

          인가 (Authorization): 권한 확인 (특정 리소스에 접근할 수 있는 권한 - 인증 다음 단계) - admin 같은

           => 이름이 Unauthorized지만 인증으로 사용 중

 

  3) 403 Forbidden: 서버가 요청을 이해했지만 승인을 거부함

       - 인증 자격은 있지만, 접근권한이 불충분한 경우

        ex) 로그인은 했지만, 관리자가 아닌 사용자가 관리자 권한이 필요한 리소스 접근 시

 

  4) 404 Not Found: 요청 리소스를 찾을 수 없음

       - 요청 리소스가 서버에 없음

       - 권한이 부족한 클라이언트가 리소스에 접근할 때, 해당 리소스를 숨기고 싶을 때도 사용 가능

 

5. 5xx (서버 오류)

 - 서버 문제로 오류 발생

 - 재시도하면 성공할 수도 있음 (ex- 복구가 된다면?)

 

  1) 500 Internal Server Error: 서버 문제로 오류 발생

       - 서버 내부 오류인데, 애매하면 500 오류

       

  2) 503 Service Unavailable: 서비스 이용불가

       - 서버가 일시적인 과부하 or 예정된 작업으로 잠시 요청을 처리할 수 없을 때

       - 주로 긴급점검같은 걸 진행할 때..

 

   기타 502 Bad Gateway, 504 Gateway Time-out 등이 있음..

TAGS.

Comments