6 CoAP URI
CoAP中使用“coap”和“coaps”的URI scheme来标识CoAP资源和提供资源定位。CoAP资源由潜在的在某个UDP端口监听CoAP请求(“coap”)或DTLS加密的CoAP请求(“coaps”)的CoAP源服务器组织和分层。CoAP服务器是通过通用语法中的authority组件,即host组件(即IP地址或域名)和一个可选的UDP端口号来区分的。URI中剩余部分则标识了一个能够被CoAP协议中定义的方法操作的资源。“coap”和“coaps”的URI可以分别和“http”以及“https”的URI做类比。
“coap”和“coaps” URI scheme的语法在本章被定义,采用ABNF格式(Augmented-Bacus-Naur Form)[RFC5234]。关于“host”、“port”、“path-abempty”、“query”、“segment”、“IP-literal”、“IPvaddress”和“reg-name”的定义请参考[RFC3986]。
实现注意:不幸的是,到目前为止URI格式已经非常复杂。建议开发者们仔细查看[RFC3986]。例如,IPv6地址上的ABNF就比预期的更复杂。同样的,开发者们需要小心处理URI的百分比解码或百分比编码的处理,在从一个URI和它的解码组件之间只执行一次。百分号编码对数据透明相当重要,但是处理不好可能会导致未定义的结果,例如在path组件中的斜线。
最后更新于
这有帮助吗?