2013-12-21 2 views
1

에서 시작하는지 최근 REST API에 대한 작업 중에 "IANA"가 HTTP 상태 코드를 100에서 1이 아닌 것으로 결정한 이유는 무엇입니까? 그것에 대해 알고 싶어서.왜 HTTP 오류 코드가 100

+1

커뮤니티에서 그러한 종류의 질문에 대한 신뢰할 수있는 답변을 얻을 수 있을지 의심 스럽습니다. 표준 작성자에게 직접 문의하는 것이 좋습니다. 우리가 할 수있는 일은 처음 발견 된 커피 찌꺼기를 사용해서 추측하는 것뿐입니다. 하지만 개인적으로 나에게 그것은 인간 친화적 인 프로토콜을 만드는 주요 접근 방식과 관련이 있습니다. HTTP의 경우 자유 형식 (몇 가지 간단한 규칙 제외), 임의의 공백, 대소 문자를 구분하는 일치 등을 포함한 느슨한 문법을 ​​포함합니다. 이 주된 원칙으로, 001이 아닌 1을 쓰는 것은 잘못된 것입니다. OTOH 가변 길이 값은 더 나 빠지고 있습니다. 그러나 취향은 다르며 예측할 수 없습니다. – Netch

+2

IANA는 레지스트리를 유지 관리합니다. 범위는 IETF 사양에 의해 정의됩니다. –

+0

@Netch 아래의 상태 코드 분류는 3 자리 숫자 상태 코드가있는 경우에 적합합니다. –

답변

2

HTTP/1.0은 처음 출시 된 버전 인 HTTP/0.9에 상태 코드를 추가했습니다. 상태 코드의 범위는 다음과 같이 정의된다

RFC 1954, 6.1.1 Status Code and Reason Phrase

상태 코드 요소 이해하고 상기 요청을 만족시키기 시도 3 자리 정수 결과 코드 [...]. 상태 코드는 오토 마타 [...]에서 사용하기위한 것입니다.

상태 코드의 첫 번째 숫자는 응답 클래스를 정의합니다. 마지막 두 자리에는 분류 역할이 없습니다.

  • 1XX :이 첫 번째 숫자 5 개 가치있는 정보 제공 - 사용되지 않습니다,하지만 나중에 사용하기 위해

  • 가 2xx 예약 : 성공 - 작업이 성공적으로 이해 받고, 받아 들여졌다.

  • 하는 3xx : 리디렉션 - 추가 조치가 요청을

  • 4XX 완료하기 위해 수행해야 : 클라이언트 오류 - 요청이 잘못된 구문을 포함하거나

  • 5XX 충족 할 수없는 서버 오류 - 서버는 분명히 유효한 요청에 관해서는

을 충족하지 못한 "왜"가 포함 할 수있는 각각의 다섯 개 가지 범주, 수 있습니다 100 개의 다른 코드 (x00 - x99)는 "누구에게나 충분해야합니다".

+0

감사합니다. @CodeCaster 예 위의 내용이 의미가 있습니다. 따라서 현재 상태를 설명하기 위해 각 카테고리에 100 개의 다른 코드와 5 개의 카테고리가 있습니다. 현재 상태가 100 상태 인 것처럼 보이지만 모든 카테고리의 상태 코드가 부족하지 않기를 바랍니다. :디 –

2

상태 코드는 연속적으로 번호가 매겨지지 않습니다. 첫 번째 숫자는 상태 코드의 유형을 나타냅니다 (예 : 성공시 2xx, 클라이언트 오류시 4xx. 마지막 숫자는 상태 코드를 더 자세히 지정하는 데 사용됩니다. 형식 당 9 개 이상의 상태 코드가 있기 때문에 두 자리 숫자가 필요합니다.