본문 바로가기
개인 공부/Network (그림으로 배우는 Http&Network Basic)

Http&Network Basic : 결과를 전달하는 HTTP 상태 코드 (4장)

by 희조당 2023. 6. 6.
728x90

🤪 결과를 전달하는 HTTP 상태 코드

4.1 상태 코드는 서버로부터 리퀘스트 결과를 전달한다

  • 상태 코드는 제목 그대로 결과가 어떻게 처리되었는지 알려주는 것이다.
  • 첫 번째 자리가 리스폰스 클래스를 의미한다.

4.2 2XX 성공(Success)

  • 200 OK
    • 정상적으로 처리되었음을 나타낸다.
    • 반환되는 데이터는 요청 메서드에 따라 다르다.
  • 204 No Content
    • 정상적으로 처리했지만 리턴되는 리소스가 없음을 나타낸다.
  • 206 Partial Content
    • 3장에서 알아본 레인지 리퀘스트에 대해서 부분적으로 응답했음을 나타낸다.
    • Content-Range에 지정된 범위의 엔티티를 포함한다.

4.3 3XX 리다이렉트(Redirection)

  • 리퀘스트가 정상적으로 처리되기 위해 브라우저 측에서 특별한 처리를 수행해야 함을 나타낸다.
  • 301 Moved Permanently
    • 요청한 리소스에 새로운 URI가 부여되서 새로운 URI를 사용해야함을 나타낸다.
    • 단순하게 /를 깜빡해서도 301이 발생한다.
  • 302 Found
    • 요청한 리소스에 새로운 URI가 부여되서 그 URI를 참조해 달라는 요청을 나타낸다.
    • 301과 비슷하지만 일시적인 이동이라는 점에서 다르다.
  • 303 See Other
    • 요청한 리소스가 다른 URI에 있기 때문에 GET메서드로 요청해야 함을 나타낸다.
    • 302와 비슷하지만 명확하게 리다이렉트 장소를 GET메서드로 요청해야 함을 나타내서 다르다.
  • 304 Not Modified
    • 요청에 대해서 접근은 허용하지만 조건이 충족되지 않음을 나타낸다.
    • Response Body에 어떤 것도 포함하지 않아야 한다.

4.4 4XX 클라이언트 에러(Client Error)

  • 클라이언트로 인해서 에러가 발생했음을 나타낸다.
  • 400 Bad Request
    • 요청 구문이 잘못되었음을 나타낸다.
  • 401 Unauthorized
    • 요청에 HTTP 인증 정보가 필요하다는 것을 나타낸다.
    • 401응답에 인증을 위한 다이얼로그가 표시된다.
  • 403 Forbidden
    • 요청에 대해서 접근이 거부되었음을 나타낸다.
    • 보안상의 이유로 일반적으로는 잘 쓰이지 않는다.
  • 404 Not Found
    • 요청한 리소스가 서버에 없음을 나타낸다.
    • 요청을 거부하고 싶을 때도 사용된다.

4.5 5XX 서버 에러(Server Error)

  • 서버 원인으로 에러가 발생했음을 나타낸다.
  • 500 Internal Server Error
    • 요청을 처리하는 도중에 에러가 발생했음을 나타낸다.
  • 503 Service Unavailable
    • 서버가 과부하 상태이거나 점검 등의 이유로 요청을 처리할 수 없음을 나타낸다.

😋 지극히 개인적인 블로그지만 훈수와 조언은 제 성장에 도움이 됩니다 😋 

댓글