CoAP 并不是要取代 HTTP,它是針對 Constrained Device 的 HTTP 需求。CoAP(Constrained Application Protocol)是更簡單且輕量化的 HTTP 技術(shù),簡單的意思是,CoAP 簡化了 HTTP 的內(nèi)容,輕量化的意思是,CoAP 采用 UDP 進行傳輸。簡單來說,CoAP 可以看做是一個 HTTP over UDP 的技術(shù)。CoAP 是物聯(lián)網(wǎng)的重要技術(shù),它讓 Constrained Device 都能具備 HTTP 的能力。大部份的 MCU 裝置都是 Constrained Device,因此,就也像是 MCU + HTTP。
從實作的角度來看,CoAP 并非直接采用 HTTP 標準,而是透過轉(zhuǎn)換(translate)的方式將訊息對應成標準的 HTTP。CoAP 采納了 REST 架構(gòu),并且也是采取 request/response 的模式。因此,要將 CoAP 轉(zhuǎn)換為 HTTP,或是將 HTTP 轉(zhuǎn)換為 CoAP,其實是非常容易的。實際上,CoAP 只對 request/response 的部份做轉(zhuǎn)換,也就是 CoAP 的 request 都能轉(zhuǎn)換為 HTTP request headers;response 的部份亦同。
除了 CoAP 外,HTTP/2.0 未來也可能在物聯(lián)網(wǎng)應用上,扮演重要角色。HTTP over TCP 的 ACK 會造成的一些負擔,因此如果讓 HTTP over UDP 的話,就可以解決這個問題。Google 所提出的 QUIC(Quick UDP Internet Connection)就是這樣的技術(shù)。QUIC 可以讓 HTTP 基于 UDP 傳輸層,就是 HTTP + QUIC + UDP。