[HTTP] http 상태 코드_http status code
2018. 6. 4. 12:31
반응형
[Server]HTTP 상태 코드_http status code
HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고 서버 에러. 상태 코드는 section 10 of RFC 2616에 정의되어 있습니다.
정보 응답
100 Continue
- 이 임시적인 응답은 지금까지의 상태가 괜찮으며 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 알려줍니다.
101 Switching Protocol
- 이 코드는 클라이언트가 보낸
Upgrade
요청 헤더에 대한 응답에 들어가며 서버에서 프로토콜을 변경할 것임을 알려줍니다. 102 Processing
( WebDAV )- 이 코드는 서버가 요청을 수신하였으며 이를 처리하고 있지만, 아직 제대로 된 응답을 알려줄 수 없음을 알려줍니다.
성공 응답
200 OK
- 요청이 성공적으로 되었습니다. 성공의 의미는 HTTP 메소드에 따라 달라집니다:
GET: 리소스를 불러와서 메시지 바디에 전송되었습니다.
HEAD: 개체 해더가 메시지 바디에 있습니다.
PUT 또는 POST: 수행 결과에 대한 리소스가 메시지 바디에 전송되었습니다.
TRACE: 메시지 바디는 서버에서 수신한 요청 메시지를 포함하고 있습니다.
201 Created
- 요청이 성공적이었으며 그 결과로 새로운 리소스가 생성되었습니다. 이 응답은 일반적으로 POST 요청 또는 일부 PUT 요청 이후에 따라옵니다.
202 Accepted
- 요청을 수신하였지만 그에 응하여 행동할 수 없습니다. 이 응답은 요청 처리에 대한 결과를 이후에 HTTP로 비동기 응답을 보내는 것에 대해서 명확하게 명시하지 않습니다. 이것은 다른 프로세스에서 처리 또는 서버가 요청을 다루고 있거나 배치 프로세스를 하고 있는 경우를 위해 만들어졌습니다.
203 Non-Authoritative Information
- 이 응답 코드는 돌려받은 메타 정보 세트가 오리진 서버의 것과 일치하지 않지만 로컬이나 서드 파티 복사본에서 모아졌음을 의미합니다. 이러한 조건에서는 이 응답이 아니라 200 OK 응답을 반드시 우선됩니다.
204 No Content
- 요청에 대해서 보내줄 수 있는 콘텐츠가 없지만, 헤더는 의미있을 수 있습니다. 사용자-에이전트는 리소스가 캐시된 헤더를 새로운 것으로 업데이트 할 수 있습니다.
205 Reset Content
- 이 응답 코드는 요청을 완수한 이후에 사용자 에이전트에게 이 요청을 보낸 문서 뷰를 리셋하라고 알려줍니다.
206 Partial Content
- 이 응답 코드는 클라이언트에서 복수의 스트림을 분할 다운로드를 하고자 범위 헤더를 전송했기 때문에 사용됩니다.
207 Multi-Status
( WebDAV )- 멀티-상태 응답은 여러 리소스가 여러 상태 코드인 상황이 적절한 경우에 해당되는 정보를 전달합니다.
208 Multi-Status
( WebDAV )- DAV에서 사용됩니다: propstat(property와 status의 합성어) 응답 속성으로 동일 컬렉션으로 바인드된 복수의 내부 멤버를 반복적으로 열거하는 것을 피하기 위해 사용됩니다.
226 IM Used
( HTTP 델타 인코딩 )- 서버가 GET 요청에 대한 리소스의 의무를 다 했고, 그리고 응답이 하나 또는 그 이상의 인스턴스 조작이 현재 인스턴스에 적용이 되었음을 알려줍니다.
리다이렉션 메시지
300 Multiple Choice
- 요청에 대해서 하나 이상의 응답이 가능합니다. 사용자 에이전트 또는 사용자는 그중에 하나를 반드시 선택해야 합니다. 응답 중 하나를 선택하는 방법에 대한 표준화 된 방법은 존재하지 않습니다.
301 Moved Permanently
- 이 응답 코드는 요청한 리소스의 URI가 변경되었음을 의미합니다. 새로운 URI가 응답에서 아마도 주어질 수 있습니다.
302 Found
- 이 응답 코드는 요청한 리소스의 URI가 일시적으로 변경되었음을 의미합니다. 새롭게 변경된 URI는 나중에 만들어질 수 있습니다. 그러므로, 클라이언트는 향후의 요청도 반드시 동일한 URI로 해야합니다.
303 See Other
- 클라이언트가 요청한 리소스를 다른 URI에서 GET 요청을 통해 얻어야 할 때, 서버가 클라이언트로 직접 보내는 응답입니다.
304 Not Modified
- 이것은 캐시를 목적으로 사용됩니다. 이것은 클라이언트에게 응답이 수정되지 않았음을 알려주며, 그러므로 클라이언트는 계속해서 응답의 캐시된 버전을 사용할 수 있습니다.
305 Use Proxy
- 이전 버전의 HTTP 기술 사양에서 정의되었으며, 요청한 응답은 반드시 프록시를 통해서 접속해야 하는 것을 알려줍니다. 이것은 프록시의 in-band 설정에 대한 보안상의 걱정으로 인하여 사라져가고 있습니다.
306 unused
- 이 응답 코드는 더이상 사용되지 않으며, 현재는 추후 사용을 위해 예약되어 있습니다. 이것은 HTTP 1.1 기술사양 이전 버전에서 사용되었습니다.
307 Temporary Redirect
- 클라리언트가 요청한 리소스가 다른 URI에 있으며, 이전 요청과 동일한 메소드를 사용하여 요청해야할 때, 서버가 클라이언트에 이 응답을 직접 보냅니다. 이것은
302 Found
HTTP 응답 코드와 동일한 의미를 가지고 있으며, 사용자 에이전트가 반드시 사용된 HTTP 메소드를 변경하지 말아야 하는 점만 다릅니다: 만약 첫 요청에POST
가 사용되었다면, 두번째 요청도 반드시POST
를 사용해야 합니다. 308 Permanent Redirect
- 이것은 리소스가 이제 HTTP 응답 헤더의
Location:
에 명시된 영구히 다른 URI에 위치하고 있음을 의미합니다. 이것은301 Moved Permanently
HTTP 응답 코드와 동일한 의미를 가지고 있으며, 사용자 에이전트가 반드시 HTTP 메소드를 변경하지 말아야 하는 점만 다릅니다: 만약 첫 요청에POST
가 사용되었다면, 두번째 요청도 반드시POST
를 사용해야 합니다.
클라이언트 에러 응답
400 Bad Request
- 이 응답은 잘못된 문법으로 인하여 서버가 요청을 이해할 수 없음을 의미합니다.
401 Unauthorized
- 비록 HTTP 표준에서는 "미승인(unauthorized)"를 명확히 하고 있지만, 의미상 이 응답은 "비인증(unauthenticated)"을 의미합니다. 클라이언트는 요청한 응답을 받기 위해서는 반드시 스스로를 인증해야 합니다.
402 Payment Required
- 이 응답 코드는 나중에 사용될 것을 대비해 예약되었습니다. 첫 목표로는 디지털 결제 시스템에 사용하기 위하여 만들어졌지만 지금 사용되고 있지는 않습니다.
403 Forbidden
- 클라이언트는 콘텐츠에 접근할 권리를 가지고 있지 않습니다. 예를들어 그들은 미승인이어서 서버는 거절을 위한 적절한 응답을 보냅니다. 401과 다른 점은 서버가 클라이언트가 누구인지 알고 있습니다.
404 Not Found
- 서버는 요청받은 리소스를 찾을 수 없습니다. 브라우저에서는 알려지지 않은 URL을 의미합니다. 이것은 API에서 종점은 적절하지만 리소스 자체는 존재하지 않음을 의미할 수도 있습니다. 서버들은 인증받지 않은 클라이언트로부터 리소스를 숨기기 위하여 이 응답을 403 대신에 전송할 수도 있습니다. 이 응답 코드는 웹에서 반복적으로 발생하기 때문에 가장 유명할지도 모릅니다.
405 Method Not Allowed
- 요청한 메소드는 서버에서 알고 있지만, 제거되었고 사용할 수 없습니다. 예를 들어, 어떤 API에서 리소스를 삭제하는 것을 금지할 수 있습니다. 필수적인 메소드인
GET
과HEAD
는 제거될 수 없으며 이 에러 코드를 리턴할 수 없습니다. 406 Not Acceptable
- 이 응답은 웹 서버가 서버 구동 컨텐츠 협상 을 수행 한 후 사용자 에이전트가 지정한 기준에 따라 컨텐츠를 찾지 못했을 때 전송됩니다 .
407 Proxy Authentication Required
- 이것은 401과 유사하지만 프록시가 인증을 수행해야합니다.
408 Request Timeout
- 이 응답은 클라이언트의 이전 요청이 없더라도 일부 서버에서 유휴 연결을 통해 전송됩니다. 서버가이 사용되지 않는 연결을 종료하고자 함을 의미합니다. 이 응답은 Chrome, Firefox 27+ 또는 IE9와 같은 일부 브라우저가 서핑 속도를 높이기 위해 HTTP 사전 연결 메커니즘을 사용하므로 훨씬 더 많이 사용됩니다. 또한 일부 서버는이 메시지를 보내지 않고 연결을 종료합니다.
409 Conflict
- 이 요청은 요청이 서버의 현재 상태와 충돌 할 때 전송됩니다.
410 Gone
- 요청 된 컨텐트가 전달 주소없이 서버에서 영구적으로 삭제 된 경우이 응답이 전송됩니다. 클라이언트는 리소스에 대한 캐시와 링크를 제거해야합니다. HTTP 사양은이 상태 코드를 "제한 시간, 홍보 서비스"에 사용할 것을 의도합니다. API는이 상태 코드로 삭제 된 리소스를 표시하도록 강요 받아서는 안됩니다.
411 Length Required
Content-Length
헤더 필드가 정의되지 않았기 때문에 서버가 요청을 거부했으며 서버가이를 요구합니다.412 Precondition Failed
- 클라이언트는 서버가 충족시키지 못하는 헤더에 전제 조건을 표시했습니다.
413 Payload Too Large
- 요청 엔티티가 서버가 정의한 한계보다 큽니다. 서버는 연결을 닫거나
Retry-After
헤더 필드를 리턴 할 수 있습니다 . 414 URI Too Long
- 클라이언트가 요청한 URI가 서버가 해석하려고하는 것보다 길다.
415 Unsupported Media Type
- 요청 된 데이터의 미디어 형식은 서버에서 지원하지 않으므로 서버가 요청을 거부합니다.
416 Requested Range Not Satisfiable
Range
요청 의 헤더 필드에 지정된 범위를 충족시킬 수 없습니다. 범위가 대상 URI의 데이터 크기를 벗어날 가능성이 있습니다.417 Expectation Failed
- 이 응답 코드는
Expect
요청 헤더 필드가 나타내는 기대치 가 서버에 의해 충족 될 수 없음을 의미합니다. 418 I'm a teapot
- 서버는 찻 주전자로 커피를 추출하려고 시도하지 않습니다.
421 Misdirected Request
- 요청이 응답을 생성 할 수없는 서버로 지정되었습니다. 이것은 요청 URI에 포함 된 스키마와 권한의 조합에 대한 응답을 생성하도록 구성되지 않은 서버에서 전송할 수 있습니다.
422 Unprocessable Entity
( WebDAV )- 요청은 잘 형성되었지만 의미 론적 오류로 인해 추적 할 수 없었습니다.
423 Locked
( WebDAV )- 액세스중인 자원이 잠겨 있습니다.
424 Failed Dependency
( WebDAV )- 이전 요청이 실패하여 요청이 실패했습니다.
426 Upgrade Required
- 서버는 현재 프로토콜을 사용하여 요청을 수행하는 것을 거부하지만 클라이언트가 다른 프로토콜로 업그레이드 한 후에 기꺼이 수행 할 수 있습니다. 서버는
Upgrade
필요한 프로토콜을 나타 내기 위해 헤더를 426 응답으로 보냅니다 . 428 Precondition Required
- 원 서버는 요청을 조건부로 요구합니다. 제 3자가 서버의 상태를 수정하여 충돌을 일으키는 경우 클라이언트가 리소스의 상태를 가져 와서 수정하고 서버로 다시 가져 오는 '업데이트 손실 문제'를 방지하기위한 것입니다.
429 Too Many Requests
- 사용자가 주어진 시간 내에 너무 많은 요청을 보냈습니다 ( "속도 제한").
431 Request Header Fields Too Large
- 헤더 필드가 너무 크기 때문에 서버가 요청을 처리하지 않습니다. 요청 헤더 필드의 크기를 줄인 후에 요청을 다시 제출할 수있다 (MAY).
451 Unavailable For Legal Reasons
- 사용자가 정부에 의해 검열 된 웹 페이지와 같은 불법 리소스를 요청합니다.
서버 에러 응답
500 Internal Server Error
- 서버가 처리 방법을 모르는 상황이 발생했습니다.
501 Not Implemented
- 요청 메소드는 서버에서 지원하지 않으므로 처리 할 수 없습니다. 서버가 지원해야하는 유일한 방법 (및 따라서이 코드를 반환하지 않아야 함)은
GET
및HEAD
입니다. 502 Bad Gateway
- 이 오류 응답은 서버가 요청을 처리하는 데 필요한 응답을 얻기 위해 게이트웨이로 작업하는 동안 유효하지 않은 응답을 얻음을 의미합니다.
503 Service Unavailable
- 서버가 요청을 처리 할 준비가되지 않았습니다. 일반적인 원인은 유지 보수를 위해 작동하지 않거나 과부하 상태 인 서버입니다. 이 응답과 함께 문제를 설명하는 사용자에게 친숙한 페이지를 보내야합니다. 이 응답은 임시 조건에 사용되어야하며
Retry-After:
HTTP 헤더에는 가능한 경우 서비스 복구 전의 예상 시간이 포함되어야합니다. 웹 마스터는이 임시 응답을 캐시에 저장하지 않아야하므로이 응답과 함께 전송되는 캐싱 관련 헤더도주의해야합니다. 504 Gateway Timeout
- 이 오류 응답은 서버가 게이트웨이 역할을하고 제 시간에 응답을받을 수 없을 때 제공됩니다.
505 HTTP Version Not Supported
- 요청에 사용 된 HTTP 버전이 서버에서 지원되지 않습니다.
506 Variant Also Negotiates
- 서버에 내부 구성 오류가 있습니다. 요청에 대한 투명한 내용 협상으로 인해 순환 참조가 발생합니다.
507 Insufficient Storage
- 서버에 내부 구성 오류가 있습니다. 선택한 변형 리소스가 투명 콘텐츠 협상 자체에 참여하도록 구성되어 있으므로 협상 프로세스에서 적절한 종점이 아닙니다.
508 Loop Detected
( WebDAV )- 서버는 요청을 처리하는 동안 무한 루프를 감지했습니다.
510 Not Extended
- 서버가이를 수행하려면 요청을 더 확장해야합니다.
511 Network Authentication Required
- 511 상태 코드는 클라이언트가 네트워크 액세스를 획득하기 위해 인증해야 함을 나타냅니다.
브라우저 호환성
이 페이지의 호환성 테이블은 구조화 된 데이터에서 생성됩니다. 데이터에 기여하고 싶다면 https://github.com/mdn/browser-compat-data 를 확인하고 당기 요청을 보내주십시오.
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
반응형
'Program > Server & CSS & ETC' 카테고리의 다른 글
[Git] Github _Source Commit & Remote Repository (0) | 2019.02.27 |
---|---|
[Git] Github Join & Repository (0) | 2019.02.26 |
[Git]윈도우버전 Git설치하기 (Git for Windows) (0) | 2019.02.25 |
[CSS] hidden, none 차이점 (0) | 2017.10.27 |
[CSS]Input 배경을 투명하게 하는 방법 (0) | 2017.10.27 |