CoAP 并不是要取代 HTTP,它是针对 Constrained Device 的 HTTP 需求。CoAP(Constrained Application Protocol)是更简单且轻量化的 HTTP 技术,简单的意思是,CoAP 简化了 HTTP 的内容,轻量化的意思是,CoAP 采用 UDP 进行传输。简单来说,CoAP 可以看做是一个 HTTP over UDP 的技术。CoAP 是物联网的重要技术,它让 Constrained Device 都能具备 HTTP 的能力。大部份的 MCU 装置都是 Constrained Device,因此,就也像是 MCU + HTTP。
从实作的角度来看,CoAP 并非直接采用 HTTP 标准,而是透过转换(translate)的方式将讯息对应成标准的 HTTP。CoAP 采纳了 REST 架构,并且也是采取 request/response 的模式。因此,要将 CoAP 转换为 HTTP,或是将 HTTP 转换为 CoAP,其实是非常容易的。实际上,CoAP 只对 request/response 的部份做转换,也就是 CoAP 的 request 都能转换为 HTTP request headers;response 的部份亦同。
除了 CoAP 外,HTTP/2.0 未来也可能在物联网应用上,扮演重要角色。HTTP over TCP 的 ACK 会造成的一些负担,因此如果让 HTTP over UDP 的话,就可以解决这个问题。Google 所提出的 QUIC(Quick UDP Internet Connection)就是这样的技术。QUIC 可以让 HTTP 基于 UDP 传输层,就是 HTTP + QUIC + UDP。