CoAP协议学习笔记——CoAP格式详解(1)(4)
5 Content-Format描述
CoAP支持多种媒体类型,具体可参考RFC7252 #12.3。从下图的信息可以发现,CoAP协议中关于媒体类型的定义比较简单,未来应该会根据实际情况扩展。
图5.1 Content-Format编号内容
text/plain】 编号为0,表示负载为字符串形式,默认为UTF8编码。
application/link-format】编号为40,CoAP资源发现协议中追加定义,该媒体类型为CoAP协议特有。
application/xml】编号为41,表示负载类型为XML格式。
application/octet-stream】编号为42,表示负载类型为二进制格式。
application/exi】编号为47,表示负载类型为“精简XML”格式。(翻译不一定准确)
另外,还有一种格式也北IANA认定,也会在CoAP协议中广泛使用那便是CBOR格式,该格式可理解为二进制JSON格式。
applicaiton/cbor】编号为60。
6 示例
该示例来自于RFC7252。
流程描述】
CoAP客户端通过GET方法从Server端获得温度传感器数据,CoAP URI如下
coap://www.server.com/temperautre
CoAP请求采用CON报文,Server接收到CON报文必须返回一个ACK报文。CoAP请求采用0.01 GET方法,若操作成功CoAP Server返回2.05 Content,相当于HTTP 200 OK。请求和响应的MID必须完全相同,此处为0x7d34。请求响应中的Token域为空。CoAP请求中包含Option,该Option的类型为Uri-Path,那么Option Delta的值为0+11=11,Option Value的值为字符串形式的“temperature”。CoAP返回中包含温度数据,使用字符串形式描述,具体值为"22.3"。
图6.1 CoAP 请求响应流程
格式描述】
图6.2 CoAP请求响应具体格式
7 总结
一旦熟悉了CoAP协议的格式,那么再学习CoAP协议的应用就轻松多了。
评论暂时关闭