10 CoAP和HTTP的跨协议代理
CoAP支持HTTP功能的有限子集,因此从CoAP代理到HTTP是很简单的。在CoAP和HTTP之间采用代理可能有几个原因,例如,在设计一个这两种协议都可以使用的网站界面,或在实现CoAP-HTTP代理时。同样地,CoAP也可以代理到诸如XMPP[RFC6120]或者SIP[RFC3264]等协议;这些代理机制的定义超出本规范的范围。
通过一个正向代理来访问资源有两个可能的方向:
CoAP-HTTP代理:通过一个中间人使得CoAP客户端访问HTTP服务端的资源。这是通过在CoAP-HTTP代理的CoAP请求里包含带有“http”或“https”URI的Proxy-Uri或Proxy-Scheme选项发起的。
HTTP-CoAP代理:通过一个中间人使得HTTP客户端访问CoAP服务端的资源。这是通过在HTTP-CoAP代理的HTTP请求的Request-Line 中指定“coap”或“coaps”URI发起的。
无论哪种方式,只有CoAP的请求/响应模型被映射到HTTP。CON或者NON消息等模型应该是透明的,对代理功能没有影响。下面的章节描述对正向代理的请求的处理。没有提及反向代理,因为代理功能对客户端是透明的,就相当于原始服务器一样。然而,对反向代理的考虑和对正向代理的考虑应该是一样的,而且通常会期望反向代理以与正向代理类似的方式运行。实现中需注意,HTTP客户端函数库没有提供一种方法将CoAP URI放在HTTP的 request-Line中,使得操作HTTP-CoAP正向代理变得困难;反向代理可能因此有更好的适用性。另外一份规范会定义例如HTTP-CoAP反向代理的的URIs操作的规定[MAPPING]。
最后更新于
这有帮助吗?