본문 바로가기

네트워크

HTTP 상태코드

HTTP 상태코드는 크게 100, 200, 300, 400, 500 번대로 나눌 수 있다.
여기서는 주로 많이 사용되는 HTTP 상태 코드에 대해서 간단하게 알아보도록 하겠다.

100(Informational)

요청이 수신되어 처리중 실제로는 거의 사용하지 않으므로 이런게 있다는 것 정도만 알고있으면 된다.

200(OK)

성공적으로 수신하고 요청을 처리했다는 뜻.

  • 200(OK): 성공적으로 처리했을 때 쓰이는 가장 일반적인코드
  • 201(Created): 성공적으로 처리되어 리소스가 생성되었음
  • 202(Accepted): 요청이 받아들여졌지만 처리되지는 않았음
  • 204(No Content): 성공적으로 처리했지만 응답에 데이터가 없음

300(Redirection)

요청을 완료하기 위해 리다이렉션이 이루어져야함.
Redirection이란? 웹 브라우저에서 HTTP 응답에 있는 Location 위치로 자동으로 이동하는 것

  • 301, 308(Moved Permanently): 영구적으로 컨텐츠가 이동되었을 때 사용
  • 302,307,303(Temporary Redirect): 일시적으로 리다이렉트를 해야할 때 사용.

400(Client Error)

클라이언트의 요청에 잘못된 것이 있어 요청을 처리할 수 없음. 클라이언트의 요청이 올바르지 않다는 의미.

  • 400(Bad Request): 요청 자체가 잘못되어서 처리할 수 없음
  • 401(Unauthorized): 인증이 필요한 리소스에 인증없이 접근하였음
  • 403(Forbidden): 서버가 요청을 이해했지만 승인이 거부됨
  • 404(Not Found): 요청된 리소스를 찾을 수 없음

500(Server Error)

서버에서 문제가 생겨서 응답할 수 없다는 의미.

  • 500(Internal Server Error): 서버에서 내부적으로 오류가 발생하였을 경우
  • 503(Service Temporarily Unavailable): 주로 서버의 과부하 등으로 일시적으로 서비스를 사용할 수 없을 경우