| 클래스 | 설명 | |
| 1xx | Informational | 리퀘스트를 받아들여 처리중 |
| 2xx | Success | 정상 처리 |
| 3xx | Redirection | 리퀘스트 완료를 위해 추가 동착이 필요 |
| 4xx | Client Error | 서버 리퀘스트 이해 불가능 |
| 5xx | Server Error | 서버 리퀘스트 처리 실패 |
몇개의 대표적인 상태코드를 알아보자. ( 다 하면 60개도 넘는다고 한다.)
2xx (성공)
2xx 리스폰스는 요청이 정상적으로 처리되었음을 나타낸다.
200 OK
정상처리
204 No Content
요청에 성공했지만 돌려줄 컨텐츠가 없다.
206 Partial Content
Range에 의해서 범위가 지정된 리퀘스트에 의해서 서버가 부분적 GET 리퀘스트를 받았음을 나타낸다.
(부분적으로 요청할만큼 큰 파일을 요청해 본적이 없어 잘모르겠다.)
3xx (리다이렉트)
3xx 리스폰스는 요청이 정상적으로 처리를 종료하기 위해 브라우저 측에서 특별한 처리를 수행해야 함을 나타낸다.
301 Moved Permanently
요청된 리소스에는 새로운 URI가 부여되어 있기 때문에 이후로는 새로운 URI를 사용해야한다는 것을 나타낸다.
302 Found
요청된 리소스에 새로운 URI가 할당되어 있기 떄문에 그 URI를 참조해 주길 바란다는 의미이다.
301은 영구적으로 부여가된 반면 302는 일시적인 할당인것의 차이가 있다.
303 See Other
303또한 다른 URI에 리소스가 있다는것을 나타내며 302와 기능은같다.
차이점은 리다이렉트 장소를 GET 메소드로 얻어야 한다고 명확하게 되어있는점이다.
예를 들면, POST 메소드로 액세스했을때 처리결과를 GET 메소드로 리다이렉트 시키고 싶은 경우 303을 사용한다.
이는 301, 302도 가능하지만 303으로 하는것이 바람직하다.
304 Not Modified
클라이언트가 조건부 리퀘스트를 했을 때 리소스에 대한 액세스는 허락하지만, 조건은 충족되지 않음을 표시한다. 이 때 리스폰스 바디에는 어떠한 내용도 포함되선 안된다.
4xx (클라이언트 에러)
4xx 리스폰스는 클라이언트의 원인으로 에러가 발생했음을 나타낸다.
400 Bad Request
요청 구문이 잘못되었음을 나타낸다. 이 에러의 경우 리퀘스트 내용을 재검토해 볼 필요가 있다.
401 Unauthoirized
요청에 HTTP인증 정보가 필요하다는것을 의미합니다. 두번째 401 리스폰스를 받게되었다면 그것은 인증에 실패했음을 나타낸다. 인증을 하기 위해서는 WWW-Authenticate 헤더 필드를 포함할 필요가 있다.
403 Forbidden
요청된 리소스의 액세스가 거부되었음을 나타내고 있다. 서버 측에서는 거부의 이유를 분명히 할 필요가 있다. 이유는 리스폰스 엔티티 바디에 기재해서 유저측에 표시해준다.
403의 원인으로는 파일 시스템의 퍼미션이 부여되지 않은 경우와 액세스 권한에 문제 등이 있다.
404 Not Found
요청한 리소스가 서버상에 없다는 것을 나타낸다. 그 외에도 서버 측에 해당 리퀘스트를 거부하고 싶은 이유를 분명히 하고싶지 않은 경우에도 사용한다.
5xx (서버 에러)
500 Internal Server error
요청을 처리하는 도중에 에러가 발생했음을 나타낸다.
503 Service Unavaliable
서버가 과부하 상태이거나 점검중으로 요청를 처리할 수 없음을 나타낸다.
'Web' 카테고리의 다른 글
| HttpServletRequst와 HttpServletResponse (0) | 2020.11.01 |
|---|---|
| 프록시x게이트웨이x터널 (0) | 2020.09.25 |
| Request와 Response의 구성 (0) | 2020.09.23 |
| URI와 URL 차이 (0) | 2020.09.23 |
| HTTP와 관계가 깊은 프로토콜들 (0) | 2020.09.23 |