解决了传输层的问题,再回到应用层来看 HTTP。因为 HTTP request/response headers 设计上的一些缺点,让 HTTP 的网路传输效能无法提升。为解决这些问题,Google 便提出了 SPDY 协定。SPDY 协定后来成为 HTTP/2(HTTP 2.0)的基础。IETF 在 2015 年 5 月正式发布 HTTP/2 标准(RFC 7540)。HTTP/2 是基于 TCP 协定,因此要让物联网装置使用 HTTP over UDP 的话,目前仍必须使用 HTTP + QUIC + UDP 的堆叠。
因为 HTTP/2 标准就是 SPDY 的内容,如果有意在物联网装置上使用 HTTP/2 的特性,就要采用 HTTP + SPDY + QUIC + UDP 的堆叠。不过,Google 未来有意将 HTTP/2 over QUIC 提交给 IETF,到时就能舍弃 HTTP + SPDY + QUIC + UDP 的做法,毕竟这只是过渡时期的解决方案。
从 IoT 装置的角度来看,在一个硬体很受限的环境里,HTTP over TCP 的过程不但消耗硬体资源,也考验硬体的运算能力。同时,这个过程因为 handshake 的过程繁复,也可能造成“response time”过长。CoAP、HTTP over UDP 或是 HTTP/2 over QUIC 则是修改了 handshake 的过程,解决了包含 response time 在内的各种问题。
未来,当 IoT 装置大量布署后,届时网路上将有十亿,甚致百亿计的 IoT 装置,这个总数,绝对比纯 web 时代时的 web server 还要更多。当这些 IoT 装置彼此间,发出大量且频繁的 HTTP request/response 时,这些 TCP 连线就会累积出非常可怕的“连线负载”。未来迎接 IoT 的时代,降低 ACK 封包,并设计更适合的通讯协定,就成了重要的基础研究。或许,在通讯协定技术完成技术变革后,WoT 才会真正成为成熟市场。