Home 4장 결과를 전달하는 HTTP 상태코드
Post
Cancel

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

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

클라이언트가 서버에 리퀘스트를 보내면 서버는 그 결과가 어떻게 되었는지 알려주기 위해 상태코드를 보낸다. 그래서 상태코드를 보고 정상 처리 되었는지, 에러가 났는지 알 수 있다.

[상태코드 클래스]

 클래스설명
1XXInformational리퀘스트를 받아들여 처리중
2XXSuccess리퀘스트를 정상적으로 처리했음
3XXRedirection리퀘스트를 완료하기 위해서 추가 동작이 필요
4XXClient Error서버는 리퀘스트 이해 불가능
5XXServer Error서버는 리퀘스트 처리 실패

4.2 2XX 성공(Success)

  • 200 OK : 클라이언트가 보낸 리퀘스트를 서버가 정상 처리하였음을 나타낸다. 그리고 리스폰스에서 상태 코드와 함께 되돌아 오는 정보는 메소드에 따라 다르다.
  • 204 No Content :서버가 리퀘스트를 받아서 처리하는 데는 성공했지만 리스폰스에 엔티티 바디를 포함하지 않는다.
  • 206 Partial Content : Range에 의해서 범위가 지정된 리퀘스트에 의해 서버가 부분적 GET 리퀘스트를 받았음을 나타낸다.

4.3 3XX 리다이렉트(Redirection)

3XX 리스폰스는 리퀘스트가 정상적으로 처리를 종료하기 위해 브라우제 측에서 특별한 처리를 수행해야 함을 나타낸다.

  • 301 Moved Permanently : 리퀘스트된 리소스에는 새로운 URI가 부여되어 있기 때문에 이후로는 그 리소를 참조하는 URI를 사용해야 한다는 것을 나타낸다.
  • 302 Found : 리퀘스트된 리소스에는 새로운 URI가 할당되어 있기 때문에 그 URI를 참조해주길 바란다는 의미를 나타낸다. 301과 비슷하지만 302는 영구적인 이동이 아닌 일시적 이동이다.
  • 303 See Other : 리퀘스트에 대한 리소스는 다른 URI에 있기 때문에 GET 메소드를 사용해서 얻어야 한다는 것을 나타낸다.
  • 304 Not Modified : 클라이언트가 조건부 리퀘스트를 했을 때 리소스에 대한 액세스는 허용하지만, 조건이 충족되지 않음을 표시한다.
  • 307 Temporary Redirect : 302와 같은 의미를 지님 다른점은 POST에서 GET으로 치환하지 않는다.

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

클라이언트의 원인으로 에러 발생

  • 400 Bad Request : 리퀘스트 구문이 잘못되었음을 나타낸다.
  • 401 Unauthorized : 송신한 리퀘스트에 대하여 HTTP 인증 정보가 필요하다는 것을 나타낸다. 또 한 번 리퀘스트가 이루어진 경우 유저 인증에 실패했음을 표시한다.
  • 403 Forbidden : 리퀘스트된 리소스의 액세스가 거부되었음을 나타냄 거부된 이유는 엔티티 바디에 기재한다.
  • 404 Not Found

4.5 5XX 서버 에러(Server Error)

서버의 원인으로 에러가 발생했음을 나타냄

  • 500 Internal Server Error : 서버에서 리퀘스트 처리 도중 에러 발생
  • 503 Service Unavaliable : 일시적으로 서버가 과부하 상태이거나 점검중이기 때문에 현재 리퀘스트를 처리할 수 없음을 나타냄

**상태 코드가 현재 상황과 불일치할 수도 있다.

This post is licensed under CC BY 4.0 by the author.

3장 HTTP 정보는 HTTP 메시지에 있다

5장 HTTP와 연계하는 웹 서버