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