TCP/IP Stacks 是網(wǎng)路協(xié)定的基礎(chǔ),其中有一層稱為傳輸層(Transport Layer),傳輸層包含 TCP 與 UDP 二個協(xié)定。UDP 協(xié)定比 TCP 更輕量化,但因為 TCP 的可靠性佳高,因此,知名的應(yīng)用層協(xié)定“HTTP”,就基于 TCP 協(xié)定來發(fā)展。基于 TCP 的 HTTP(或稱為 HTTP over TCP)的特色就是 Client/Server 間會進行資料傳輸?shù)拇_認(rèn)(ACK),因此可靠度高。然而,這個確認(rèn)的動作對物聯(lián)網(wǎng)裝置來說,可能會形成一個問題。這個問題在于,確認(rèn)的動作需要花費較多的 硬體資源(運算能力、記憶體等),對硬體資源較缺乏的裝置(稱為 Constrained Device),這個 TCP 的確認(rèn)過程,就成為一個很大的負(fù)擔(dān)。
HTTP(Hypertext Transfer Protocol)是一種 request-response 形式的協(xié)定。就像我們所知道的,它已經(jīng)完全融入我們的生活之中。HTTP 在 PC 時代,已經(jīng)改變?nèi)藗兘邮召Y訊的方式與習(xí)慣,到了 Mobile 的時代,HTTP 更再次影響與改變?nèi)祟惖纳鐣幕5搅宋锫?lián)網(wǎng)時代,HTTP 將繼續(xù)影響與改變?nèi)祟惖纳盍?xí)慣,物聯(lián)網(wǎng)已經(jīng)開始受到 HTTP 的影響,這就是 Web of Things。HTTP 屬于 application-level 的協(xié)定,HTTP 的傳輸層就是使用 TCP。
一個開放式且符合 Web of Things 設(shè)計原則的 IoT Cloud 架構(gòu),應(yīng)該以 application-level 的協(xié)定為主,因此 HTTP 成為自然當(dāng)選人。但物聯(lián)網(wǎng)硬體本身,有它的局限性,例如:低功耗、運算頻率較低、主記憶體較少等,當(dāng)軟體在這樣受局限的硬體環(huán)境上運作時,就需要一個比 HTTP 更適合的應(yīng)用層協(xié)定-CoAP(Contrained Application Protocol)就因應(yīng)而生。