在当前的互联网通信协议中,HTTP协议以其开发成本低,开放程度高,占据绝对统治地位。但 随着物联网时代的到来,大规模海量设备接入网络,http协议因其自身的局限性,虽然很好的解决了互联网通信问题,但无法很好的解决物联网问题。http协议解决物联网问题的主要局限有,资源消耗大,单方向收发,TCP长连接带来的并发数及功耗问题。
Coap协议应运而生,为了克服 HTTP在物联网中的局限性,CoAP 做了一些优化,主要包括协议包轻量化,双向收发,采用udp无连接等。
- 协议轻量化
如上图所示,除了将协议头压缩为4字节外,采用option定义协议参数,是coap相较于http在协议轻量化方面做的最大的改动,http协议采用XML语言定义协议参数,虽然可读性很高,但是消耗了大量的资源,在资源受限的物联网设备中无疑是个很大的压力。
1.1 option数据结构