HTTP 상태 코드

bp.chys·2020년 4월 13일
0

Network

목록 보기
5/11

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

상태 코드 클래스

1xx / Informational / 리퀘스트를 받아들여 처리중
2xx / Success / 리퀘스트를 정상적으로 처리했음
3xx / Redirection / 리퀘스트를 완료하기 위해서 추가 동작이 필요
4xx / Client Error / 서버는 리퀘스트 이해 불가능
5xx / Server Error / 서버는 리퀘스트 처리 실패

2xx 성공(Success)

200 OK

  • 리퀘스트가 정상으로 처리되면 200 OK를 보낸다.
  • 리스폰스에서 상태 코드에 따라 되돌아 오는 정보는 메소드에 따라 다르다.

204 No Content

  • 서버가 리퀘스트를 받아서 처리하는 데는 성공했지만 리스폰스에 엔티티 바디를 포함하지 않는다.
  • 어떠한 바디도 되돌려내서도 안된다.
  • 클라이언트에서 서버에 정보를 보내는 것으로 족하고 클라이언트에 대해 새로운 정보가 필요 없는 경우에 사용된다.

206 Partial Content

  • Range에 의해서 범위가 지정된 리퀘스트에 의해서 서버가 부분적 GET 리퀘스트를 받았음을 나타내고 있다.

3xx 리다이렉트(Redirection)

301 Moved Permanently

  • 리퀘스트된 리소스에 새로운 URI가 부여되어 있기 때문에 이후로는 그 리소스를 참조하는 URI를 사용해야 한다는 것을 나타낸다.
  • URL의 마지막 부분에 /를 붙이지 않은 경우에도 발생할 수 있다.

302 Found

  • 리퀘스트된 리소스에 새로운 URI가 할당되어 있기 때문에 그 URI를 참조해 주길 바란다는 의미가 있다.
    301는 영구적이지만 302는 일시적이라는 차이가 있다.
  • 북마크를 했을 경우 301은 북마크를 변경하지만, 302는 변경하지 않는다.

303 See Other

  • 리퀘스트에 대한 리소스가 다른 URI에 있기 때문에 GET 메소드를 사용해서 얻어야 한다는 것을 나타낸다. 이것은 302 Found와 같은 기능이지만 리다이렉트 장소를 GET 메소드로 얻어야 한다고 명확하게 되어 있는 점이 다르다.

304 Not Modified

  • 클라이언트가 조건부 리퀘스트를 했을 때 리소스에 대한 액세스는 허락하지만, 조건이 충족되지 않음을 표시하고 있다.
  • 304를 되돌려 줄 경우에는 리스폰스 바디에 어떤 것도 포함되어 있어서는 안된다.
  • 웹 캐시에서 ETag를 비교하여 이전 버전과 달라진게 없으면 304 응답 상태 코드를 내려보낸다.

307 Temporary Redirect

  • 302 Found와 같은 의미를 지니지만 302의 경우에는 POST로부터 GET으로 치환이 금지되어 있는데도 불구하고 구현상 그와 같이 되어 있지는 않다.
  • 하지만 307의 경우에는 POST에서 GET으로 치환을 하지 않는다.

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

  • 400 Bad Request

  • 잘못된 리퀘스트 구문이 있음을 나타낸다.
  • 리퀘스트 내용을 재검토하고 재송신할 필요가 있다.
  • Request Validation을 통과하지 못하면 400 에러를 내려보낸다.

401 Unauthorized

  • 리퀘스트에 HTTP 인증이 필요함을 나타낸다.
  • 이미 한 번 리퀘스트가 이루어진 다음에는 유저 인증에 실패했음을 표시한다.

403 Forbidden

  • 리퀘스트된 리소스의 액세스가 거부되었음을 나타낸다. (권한 부족)
  • 서버 측은 엔티티 바디에 그 이유를 기재해서 유저 측에 표시한다.
  • 파일 시스템의 퍼미션이 부여되지 않은 경우와 액세스 권한에 문제가 있는 경우 해당 리스폰스가 발생한다.

404 Not Found

  • 리퀘스트한 리소스가 서버상에 없다는 것을 나타낸다. (해당 API url 부재)
  • 그 외에도 서버 측에서 해당 리퀘스트를 거부하고 싶은 이유를 분명히 하고 싶지 않은 경우에도 사용할 수 있다.

5xx 서버 에러(Server Error)

500 Internal Server Error

  • 서버에서 리퀘스트를 처리하는 도중에 에러가 발생했다는 것을 의미한다.
  • 웹 애플리케이션에 에러가 발생한 경우나 일시적인 경우도 있다.

503 Service Unavailable

  • 일시적으로 서버가 과부하 상태거나 점검중일 경우를 나타낸다.
profile
하루에 한걸음씩, 꾸준히

0개의 댓글