CoAP协议学习笔记——CoAP格式详解(1)(3)
4 Option部分详解
CoAP支持多个Option,CoAP的Option的表示方法比较特殊,采用增量的方式描述,细节可参考RFC7252 #3.1
图4.1 CoAP部分Option定义
一般情况下Option部分包含Option Delta、Option Length和Option Value三部分。
Option Delta】表示Option的增量,当前的Option的具体编号等于之前所有Option Delta的总和。
Option Length】表示Option Value的具体长度。
Option Value】表示Option具体内容
CoAP中所有的Option都采用编号的方式,这些Option及编号的定义如下图所示。
图4.2 Option编号内容
在这些option中,Uri-Host、Uri-Port、Uri-Path和Uri-Query等和资源“位置”和参数有关。
3】Uri-Host:CoAP主机名称,例如iot.eclipse.org
7】Uri-Port:CoAP端口号,默认为5683
11】Uri-Path:资源路由或路径,例如\temperature。资源路径采用UTF8字符串形式,长度不计第一个"\"。
15】Uri-Query:访问资源参数,例如?value1=1&value2=2,参数与参数之间使用“&”分隔,Uri-Query和Uri-Path之间采用“?”分隔。
在这些option中,Content-Format和Accept用于表示CoAP负载的媒体格式
12】Content-Format:指定CoAP复杂媒体类型,媒体类型采用整数描述,例如application/json对应整数50,application/octet-stream对应整数40。
17】Accept: 指定CoAP响应复杂中的媒体类型,媒体类型的定义和Content-Format相同。
CoAP协议中支持多个Option,例如
第一个Option Delta=11,表示该Option表示Uri-Path(11)
第二个Option Delta=1,表示该Option=1+11,表示Content-Format(12)
第三个Option Delta=3,表示该Option=3+1+11,表示Uri-Query(15)
CoAP采用这样的方式表示多个Option,而每种Option都可以在HTTP协议中找到对应项。
评论暂时关闭