Skip to content

Status code #
Find similar titles

Structured data

Category
Programming

HTTP 상태 코드(Status code)란? #

사용자가 웹 브라우저를 통해 웹 서버에 어떠한 요청을 할 경우, 웹 서버는 요청에 대한 응답으로 아래와 같은 HTTP 상태 코드를 나타낸다. 응답은 5개의 그룹으로 나누어 진다.

Image

HTTP(HyperText Transfer Protocol, 하이퍼텍스트 전송 프로토콜) 상태 코드를 통하여 사용자는 현재 서버에 어떠한 오류가 있는지를 확인할 수 있다. 자세한 내용은 IANA 또는 W3C에서 확인 할 수 있다.

상태 코드 종류 #

Information : 100번대 #

코드 설명
100 Countinue
- 서버가 request 헤더는 받았고, 클라이언트가 request 바디 부분을 보내고 있는 상태
101 Switching Protocols
- 요청자가 서버에게 Switching Protocol을 묻는 상태
103 Checkpoint
- 중단된 Put과 Post요청을 재개할 목적으로 되찾을 수 있는 request를 사용하는 상태

Successful : 200번대 #

코드 설명
200 OK
- 에러없이 전송이 성공된 상태
201 Created
- request가 되었고, 새로운 자원이 만들어진 상태
202 Accepted
- 서버가 request를 전송 받았으나 현재 완전하게 처리되진 않은 상태
203 Non-Authoritative Information
- 서버가 클라이언트 요구 중 일부만 전송한 상태
204 No Content
- 서버가 클라이언트 요구를 처리했으나 전송할 데이터가 없는 상태
205 Reset Content
- No Content 상태라서 요청자의 document view의 reset이 필요한 상태
206 Partial Content
- 클라이언트의 header 범위 문제로 서버가 자원의 일부만 전달받은 상태
207 Multi-Status
- 멀티-상태 응답은 다수의 리소스가 여러개의 상태 코드인 상황이 적절한 경우에 해당되는 정보를 서비스에 전달한 상태

Redirection : 300번대 #

코드 설명
300 Multiple Choices
- 최대 다섯개의 링크를 골라서 이동할 수 있는 상태
301 Moved Permanently
- 요청된 페이지가 새 URL로 옮겨진 상태
302 Found
- 요청된 페이지가 일시적으로 새 URL로 옮겨진 상태
303 See Other
- 요청된 페이지는 다른 URL에서 찾을 수 있는 상태
304 Not Modified
- 마지막 요청 이후 수정되지 않은 상태
305 Use Proxy
- location field에 proxy의 URL을 사용하는 상태
306 Switch Proxy
- 사용하지 않는 코드(Unused)
307 Temporary Redirect 302 Found HTTP 응답 코드와 동일한 의미를 가지고 있으며, 사용자 에이전트가 반드시 사용된 HTTP 메소드를 변경하지 말아야 하는 점만 다른 상태
308 Permanent Redirect 301 Moved Permanently HTTP 응답 코드와 동일한 의미를 가지고 있으며, 사용자 에이전트가 반드시 HTTP 메소드를 변경하지 말아야 하는 점만 다른 상태

Client Error : 400번대 #

코드 설명
400 Bad Request
- 요청사항에 문법적인 오류가 있어서 서버가 이해할 수 없는 상태
401 Unauthorized
- 해당 요청에 대한 권한이 없는 상태
402 Payment Required
403 Forbidden
- 금지된 요청을 허가하지 않는 상태
404 Not Found
- 요청한 페이지를 찾을 수 없는 상태
405 Method Not Allowed
- request에 명시된 요청 Method가 제공되어지지 않은 상태
406 Not Acceptable
- request에서 accept header에 not acceptable의 내용을 가진 자원을 요청한 상태
407 Proxy Authentication Required
- 프록시 서버에게 해당 요청이 수행되도록 인증을 받아야하는 상태
408 Request Timeout
- 요청 대기 시간이 지난 상태
409 Conflict
- request 충돌로 인해서 요청이 완료되지 않은 상태
410 Gone
- 요청 페이지는 더 이상 사용할 수 없는 상태
411 Length Required
- Content-Length 부분이 빠져서 요청을 허가하지 않은 상태
412 Precondition Failed
- request 헤더 필드에 선결 조건에 대한 값이 서버에서 false가 나온 경우
413 Request entity too large
- 요청 엔티티를 서버가 처리하기에 너무 큰 상태
414 Request-URI Too Long
- 요청 URI가 너무 긴 상태
415 Unsupported Media Type
- 지원하지 않는 미디어 타입을 요청한 상태
416 Requested Range Not Satisfiable
- 클라이언트가 파일의 일부를 요청했을 때 서버가 지원하지 않는 상태
417 Expectation Failed
- Expect request-header 필드의 요구를 서버가 충족시킬 수 없는 상태
422 Unprocessable Entity
- 요청은 잘 전달 됬지만, 문법 오류가 난 상태
429 Too Many Requests
- 사용자가 지정된 시간에 너무 많은 요청을 보낸 상태

Server Error : 500번대 #

코드 설명
500 Internal Server Error
- 일반적인 서버 에러 메세지로 요청 사항을 이행할 수 없는 상태
501 Not Implemented
- 서버가 해당 요청 메소드를 인식 못하거나, 이행할 능력이 없는 상태
502 Bad Gateway
- 게이트웨이나 프록시의 상태가 나쁘거나 과부하인 상태
503 Service Unavailable
- 일시적인 과부하나 서비스 중단 상태(임시 조건에 사용되어야 하며, Retry-After: HTTP 헤더는 가능하면 서비스를 복구하기 전 예상 시간을 포함해야 함)
504 Gateway Timeout
- 과부하 등의 이유로 게이트웨이나 프록시의 한계 대기 시간이 지난 상태
505 HTTP Version Not Supported
- request에서 사용한 HTTP 프로토콜을 서버가 지원하지 않는 상태
511 Network Authentication Required
- 클라이언트의 접근을 위한 네트워크 인증이 필요한 상태
0.0.1_20140628_0