HTTP 상태 코드
아래 표과 같이 HTTP/1.1에 정의된 모든 상태 코드와 그들에 대한 간략한 요약을 제공하는 레퍼런스
[표] 100~ 상태코드
상태 코드 |
사유 구절 |
의미 |
100 |
Continue |
요청의 앞부분이 수신되었으므로 클라이언트는 이 후에 속행해야 한다. |
101 |
Switching Protocols |
서버는 클라이언트가 Upgrade 헤더에 나열한 것 중 하나로 프로토콜 |
[표] 200~ 상태코드
상태 코드 |
사유 구절 |
의미 |
200 |
OK |
요청에 문제가 없다. |
201 |
Created |
리소스가 생성되었다.(서버 객체를 생성하는 요청에 대해). |
202 |
Accepted |
요청이 받아들여졌지만, 서버는 그에 대해 어떤 동작도 아직 수행하지 않았다. |
203 |
Non-Authoritative |
엔터티 헤더에 담긴 정보가 원 서버가 아니라 리소스의 복사본에서 온 것이라는 점만 제외하면 트랜잭션에는 문제가 없다. |
204 |
No Content |
응답 메시지에 헤더와 상태줄은 있지만 엔터티 본문은 없다. |
205 |
Reset Content |
주로 브라우저를 위한 또 다른 코드. 기본적으로 브라우저가 현재 페이지의 HTML 폼을 비워야 함을 의미한다. |
206 |
Partial Content |
부분 요청이 성공했다. |
[표] 300~ 상태코드
상태 코드 |
사유 구절 |
의미 |
300 |
Multiple Choices |
클라이언트가 실질적으로 복수 개의 리소스에 참조하는 URL을 요청했다. 이 코드는 옵션의 목록과 함께 반환된다. |
301 |
Moved Permanently |
요청한 URL이 옮겨졌다. 응답은 그 리소스가 새로 위치하는 곳을 가리키는 Location URL을 포함해야 한다. |
302 |
Found |
301 상태 코드와 같지만, URL이 일시적으로 옮겨진 것이라는 점이 다른다. 클라이언트는 Location 헤더에 주어진 URL을 사용해야 한다. |
303 |
See Other |
클라이언트에게 그 리소스를 얻으려면 다른 URL을 통해야 한다고 말해준다. 이 새 URL은 응답 메시지의 Location 헤더에 들어있다. |
304 |
Not Modified |
클라이언트는 요청 헤더를 통해 요청을 조건적으로 만들 수 있다. 이 코드는 요청한 리소스가 변하지 않았다고 말해준다. |
305 |
Use Proxy |
리소스는 반드시 Location 헤더를 통해 그 위치가 주어진 프락시를 통해서 접근되어야 한다. |
306 |
(Unused) |
이 상태 코드는 현재 사용되지 않는다. |
307 |
Temporary Redirect |
301 상태 코드와 같다. 그러나 클라이언트는 그 리소스의 임시적인 위치를 알려주기 위해 Location 헤더에 주어진 URL을 사용해야 한다. |
[표] 400~ 상태코드
상태 코드 |
사유 구절 |
의미 |
400 |
Bad Request |
클라이언트가 잘못된 요청을 보냈다고 말해준다. |
401 |
Unauthorized |
리소스를 얻기 전에 클라이언트에게 스스로를 인증하라고 요구하는 내용의 응답을 적절한 헤더와 함께 반환한다. |
402 |
Payment Required |
현재 이 상태 코드는 쓰이지 않지만, 미래에 사용될 가능성을 위해 준비해 두었다. |
403 |
Forbidden |
요청이 서버에 의해 거절되었다. |
404 |
Not Found |
요청한 URL을 서버가 찾을 수 없다. |
405 |
Method Not Allowed |
어떤 URL에 대해 지원하지 않는 메서드로 요청했다. 요청한 리소스에 대해 어떤 메서드가 사용 가능한지 클라이언트에게 알려주기 위해, 요청에 Allow 헤더가 포함되어야 한다. |
406 |
Not Acceptable |
클라이언트는 자신이 어떤 종류의 엔터티를 받아들이고자 하는지에 대해 매개변수로 명시할 수 있다. 이 코드는 주어진 URL에 대한 리소스 중 클라이언트가 받아들일 수 있는 것이 없는 경우 사용한다. 종종 서버는 클라이언트에게 왜 요청이 만족될 수 없었는지 알려주는 헤더를 포함시킨다. |
407 |
Proxy Authentication Required |
401 상태 코드와 같으나, 리소스에 대해 인증을 요구하는 프락시 서버를 위해 사용한다. |
408 |
Request Timeout |
만약 클라이언트의 요청을 완수하기에 시간이 너무 많이 걸리는 경우, 서버는 이 상태 코드로 응답하고 커넥션을 끊을 수 있다. |
409 |
Conflict |
요청이 리소스에 대해 충돌을 일으킨다. |
410 |
Gone |
404 상태 코드와 비슷하나, 서버가 한때 그 리소스를 갖고 있었다는 점이 다르다. |
411 |
Length Required |
서버는 요청 메시지에 Content-Length 헤더가 있을 것을 요구할 때 이 코드를 사용한다. 서버는 Content-Length 헤더 없이는 이 리소스에 대한 요청을 받을 수 없을 것이다. |
412 |
Precondition Failed |
클라이언트가 조건부 요청을 했는데 그중 하나가 실패했을 때 이 응답 코드를 반환한다. |
413 |
Request Entity Too Large |
서버가 처리할 수 있는 혹은 처리하고자 하는 한계를 넘은 크기의 요청을 클라이언트가 보냈다. |
414 |
Request URI Too Long |
서버가 처리할 수 있는 혹은 처리하고자 하는 한계를 넘은 길이의 요청 URL이 포함된 요청을 클라이언트가 보냈다. |
415 |
Unsupported Media Type |
서버가 이해하거나 지원하지 못하는 내용 유형의 엔터티를 클라이언트가 보냈다. |
416 |
Requested Range Not Satisfiable |
요청 메시지가 리소스의 특정 범위를 요청했는데, 그 범위가 무효하거나 만족시켜 줄 수 없다. |
417 |
Expectation Failed |
요청에 포함된 Expect 요청 헤더에 서버가 만족시킬 수 없는 기대가 담겨있었다. |
[표] 500~ 상태코드
상태 코드 |
사유 구절 |
의미 |
500 |
Internam Server Error |
서버가 요청을 처리할 수 없게 만드는 에러를 만났다. |
501 |
Not Implemented |
클라이언트가 서버의 능력을 넘은 요청을 했다. |
502 |
Bad Gateway |
프락시나 게이트웨이처럼 행동하는 서버가 그 용청 응답 연쇄에 있는 다음 링크로부터 가짜 응답에 맞닥뜨렸을 때 사용한다. |
503 |
Service Unavaiable |
서버는 현재 요청을 처리해 줄 수 없지만, 나중에는 가능할 것이다. |
504 |
Gateway Timeout |
상태 코드 408과 비슷하지만, 다른 서버에게 요청을 보내고 응답을 기다리다 타임아웃이 발생한 게이트웨이나 프락시에서 온 응답이라는 점이 다르다. |
505 |
HTTP Version Not Supported |
서버가 지원할 수 없거나 지원하지 않을 버전의 프로토콜로 된 요청을 받았다. |
'IT > HTTP' 카테고리의 다른 글
HTTP 포로토콜 버전 (0) | 2015.11.30 |
---|---|
HTTP 상태 코드 분류 (0) | 2015.11.30 |