TCP/IP Stacks 是网路协定的基础,其中有一层称为传输层(Transport Layer),传输层包含 TCP 与 UDP 二个协定。UDP 协定比 TCP 更轻量化,但因为 TCP 的可靠性佳高,因此,知名的应用层协定“HTTP”,就基于 TCP 协定来发展。基于 TCP 的 HTTP(或称为 HTTP over TCP)的特色就是 Client/Server 间会进行资料传输的确认(ACK),因此可靠度高。然而,这个确认的动作对物联网装置来说,可能会形成一个问题。这个问题在于,确认的动作需要花费较多的 硬体资源(运算能力、记忆体等),对硬体资源较缺乏的装置(称为 Constrained Device),这个 TCP 的确认过程,就成为一个很大的负担。
HTTP(Hypertext Transfer Protocol)是一种 request-response 形式的协定。就像我们所知道的,它已经完全融入我们的生活之中。HTTP 在 PC 时代,已经改变人们接收资讯的方式与习惯,到了 Mobile 的时代,HTTP 更再次影响与改变人类的社会文化。到了物联网时代,HTTP 将继续影响与改变人类的生活习惯,物联网已经开始受到 HTTP 的影响,这就是 Web of Things。HTTP 属于 application-level 的协定,HTTP 的传输层就是使用 TCP。
一个开放式且符合 Web of Things 设计原则的 IoT Cloud 架构,应该以 application-level 的协定为主,因此 HTTP 成为自然当选人。但物联网硬体本身,有它的局限性,例如:低功耗、运算频率较低、主记忆体较少等,当软体在这样受局限的硬体环境上运作时,就需要一个比 HTTP 更适合的应用层协定-CoAP(Contrained Application Protocol)就因应而生。