5.7.2 正向代理
CoAP区分原始服务端的请求和正向代理的请求。CoAP向正向代理的发出请求是普通的CON和NON请求,但是它们用不同的方式来指定请求URI:代理请求中的请求URI指定为Proxy-Uri选项中的字符串(参考5.10.2),而原始服务端中的请求分为Uri-Host,Uri-Port,Uri-Path和Uri-Query选项(参考5.10.1)。作为另一种选择,代理请求中的URI也可以由Proxy-Scheme选项和刚才提到的分开的选项组合而成。
当端点收到一个代理请求,而端点不想或者不能当作代理来处理这个请求URI,那么它必须返回一个5.05(Proxying Not Supported)的响应。如果授权(host and port)当作代理端点本身(5.10.2),那么请求必须当作一个本地的(non-proxied)请求。
一般来说,代理必须按照下面来解释请求:请求URI的设计定义输出的协议和它的细节(例如coap设计编码CoAP是在UDP之上的,而coaps设计编码是在DTLS之上的)。对于一个CoAP-to-CoAP的代理,初始服务端的IP地址和端口是由请求URI的授权分量决定的,请求URI可以被解码分为Uri-Host,Uri-Port,Uri-Path和Uri-Query选项。如果代理被配置为将代理请求转发到另一个代理,上面的解释方法会使其占用Proxy-Uri或Proxy-Scheme选项,导致其无法转发到原始服务端。
最后更新于
这有帮助吗?