"URI分解与CoAP协议详解"

需积分: 12 0 下载量 153 浏览量 更新于2024-01-12 收藏 1.13MB PPT 举报
URI分解是将一个绝对路径的URL解析成CoAP Request的URI的过程。该过程遵循一定的步骤和规则。首先,如果URL不是绝对URI,则分解失败。其次,根据RFC3986标准解析URL字符串,将URL从ASCII编码转换为UTF-8编码。如果URL中不存在scheme或者存在scheme但不是"coap"或"coaps",则分解失败。另外,如果URL中包含"fragment"组件,则分解失败。 接下来,需要将URL的host部分转换为URI-Host。如果host不是IP地址形式,还需要将ASCII编码转换为UTF-8编码,并替换百分号编码的形式。然后,需要判断URL的port是否为空,如果不为空,将其转换为十进制整数;否则使用默认port。如果URL的port部分与request的目的port不相同,还需要将port转换为URI-Port。 接着,判断URL的path组件是否为空或只包含一个"/"。如果是,则转到下一步;否则,需要将每个path部分分解为URI-Path。最后,如果URL包含query组件,需要将query中的每个参数转换为URI-Query。 这样,通过按照以上步骤和规则对绝对路径的URL进行分解,就可以得到CoAP Request的URI。CoAP协议是为满足物联网和M2M场景而制定的一种协议,类似于HTTP,基于REST模型。CoAP协议适用于资源受限的环境,比如CPU为8-bit的单片机,内存32Kb,FLASH 256Kb。它采用基于UDP的类似HTTP的Client/Server交互模型,客户端发送Request对资源进行操作,服务器返回Response。通过URI形式呈现资源,客户端可以使用GET、PUT、POST、DELETE等方法进行访问。CoAP协议相对于HTTP更加简化实现,降低了复杂度,具有封包更小、代码更小的特点。它适用于低速率和低功耗的应用场景,并满足CoRE环境下的需求。
2017-01-13 上传