웹 서버는 HTTP Request가 오면 그에 대한 결과를
HTTP Response로 보냅니다.
이 때, Status Code에 정의된 성공이나 오류, 리다이렉션 등에 대한 정보를
아래와 같이 Response에 포함시켜 보냅니다.
아래 그림에서 "200 OK"가 Status Code 이며,
IANA(Internet Assigned Numbers Authority)에서
관리하고 있습니다.
Note
Status Code의 첫 번째 숫자는 Response의 5가지 종류 중 하나를 뜻합니다.
1xx |
Informational |
Request를 받았으며, 작업을 계속한다. |
2xx |
Success |
요청한 동작을 수신, 이해, 승낙했으며 성공적으로 처리했다. |
3xx |
Redirection |
Client는 Request를 완료하기 위해 추가적인 동작을 취해야 한다. |
4xx |
Client Error |
Client 오류. Request에 잘못된 Syntax가 포함되거나, 수행하지 못함을 뜻 한다. |
5xx |
Server Error |
Server 오류. Server가 Request를 이행하는데 실패했음을 뜻 한다. |
아래는 자주 접하는 Code를 정리한 표이며,
모든 Code에 대한 설명은
Wikipedia에 있습니다.(영어 wiki, 한글 wiki)
2XX: Success
200 |
OK |
* 요청 정상 처리. |
204 |
No Content |
* 요청 정상 처리하였지만, 돌려줄 리소스 없음. * 응답에 어떠한 엔티티 바디(Entity Body)도 포함하지 않음. * 서버에서 처리 후, 클라이언트에 정보를 보낼 필요가 없는 경우 사용. |
206 |
Partial Content |
* Range가 지정된 요청인 경우, 지정된 범위만큼의 요청을 받았다는 것을 알려줌. |
3XX: Redirection
301 |
Moved Permanently |
* 요청된 리소스에는 새로운 URI가 지정되어 있기 때문에, |
302 |
Found |
* 요청된 리소스에는 새로운 URI가 지정되어 있기 때문에, |
303 |
See Other |
* 이 응답은 요청에 대한 리소스는 다른 URI에 있기 때문에 |
304 |
Not Modified |
* 요청한 리소스가 마지막 요청 이후 변경된 적이 없기 때문에 * 300번대로 분류되어 있지만, |
307 |
Temporary Redirect |
* 임시로 페이지를 리다이렉트 함. |
4XX: Client Error
400 |
Bad Request |
* 클라이언트의 요청 구문이 잘못됨. * 브라우저는 이 응답을 |
401 |
Unauthorized |
* 요청 처리를 위해 * 접근 허용을 차단함. |
403 |
Forbidden |
* 접근 금지 응답. * 서버는 엔티티 바디 |
404 |
Not Found |
* 클라이언트가 요청한 리소스가 |
405 |
Mothod Not Allowed |
* 허용되지 않는 HTTP 메서드를 |
5XX: Server Error
500 |
Internal Server Error |
* 서버에서 클라이언트 요청을 처리 중에 에러가 발생함. |
503 |
Service Unavailable |
* 서버가 일시적으로 요청을 처리할 수 없음. * 서버가 과부하 상태이거나 점검중이므로 요청을 처리할 수 없음을 알려줌. |
504 |
Gateway Timeout |
* 서버를 통하는 게이트웨이에 문제가 발생하여 시간이 초과됨. |
505 |
HTTP Version Not Supported |
* 해당 HTTP 버전에서는 지원되지 않는 요청임을 알려줌. |