이 응답 코드 클래스는 서버에서 오류가 발생했거나 요청을 수행 할 수 없는 경우를 나타냅니다. 이 응답 코드는 모든 요청 메소드에 대해 적용 할 수 있습니다. 서버가 이 유형의 응답을 보낼땐 진단 페이로드를 포함해서 전송해야 합니다. 이 유형의 응답은 캐시 형태로도 구현이 가능합니다만 기존의 캐싱처럼 validation 모델을 적용할 순 없습니다.
*RFC에선 이 유형의 응답에 대한 설명이 HTTP 의 오류 응답과 매우 유사하다고 언급만 할 뿐이여서, 이해를 돕기위해 HTTP 의 지침을 바탕으로 각 응답 코드에 대해 설명합니다.
-
5.00 Internal Server Error (내부 서버 오류)
서버에서 예기치 않은 조건이 발생하여 요청을 수행 할 수 없었음을 의미합니다.
-
5.01 Not Implemented (구현되지 않음)
서버가 요청 수행하는 데 필요한 기능을 지원하지 않음을 의미합니다. 서버가 해당 요청 메소드를 인식하지 못하고 어떤 자원도 이를 지원할 수 없을 때 사용하기 적절한 응답입니다.
예를들어, POST 기능을 지원하지 않는 Constrained Thing이 POST 요청을 받았을 시 이 응답을 요청자에게 보낼 수 있습니다.
-
5.02 Bad Gateway (잘못된 게이트웨이)
서버가 게이트웨이 또는 프록시 역할을 수행하는 동안 요청을 수행하기 위해 액세스 한 업스트림 서버에서 잘못된 응답을 받았음을 의미합니다.
-
5.03 Service Unavailable (서비스를 사용할 수 없음)
서버가 일시적인 과부하 또는 서버 유지 관리로 인해 요청을 처리 할 수 없음을 의미합니다. 이것은 곧 해결될 수 있는 일시적 조건이라는 것을 의미합니다. 서비스가 다시 재개되기까지 남은 시간을 알 수 있는 경우, Max-Age Option을 사용하여 클라이언트가 다시 시도할 수 있는 시간(초 단위)을 알립니다. Max-Age Option이 없는 응답을 수신한 클라이언트는 5.00 응답을 수신한 것처럼 응답을 처리해야 합니다.
주: HTTP 에서는 이 코드가 서버 과부하시 반드시 사용할 필요는 없다고 설명하므로, CoAP 에서도 단순히 연결을 거부하는 방식으로 서버를 구현할 수 있습니다.
-
5.04 Gateway Timeout (게이트웨이 시간 초과)
게이트웨이 또는 프록시 역할을하는 서버가 요청 처리 도중 접근해야 하는 지정된 URI 또는 다른 보조 서버로부터 적시에 응답을 받지 못했음을 의미합니다.
-
5.05 Proxying Not Supported (프록시가 지원되지 않음)
서버가 Proxy-Uri Option 또는 Proxy-Scheme 에 지정된 URI에 대해 프록시의 역할을 하지 않거나 할 수 없음을 의미합니다.
'[RFC7252] CoAP' 카테고리의 다른 글
ETag란? (0) | 2016.12.29 |
---|