下一代的超文本传输协议,也就是我们熟知的HTTP,可能不会再使用TCP协议。
目前,HTTP 1.0/1.1/2都使用TCP构建传输层,其特点或者说优点在于可靠性、有序性和纠错性。即连接两端收发信息是依序且能够检查错误,如果收方的数据包有问题,可以再次请求发送。
当然,这些都是理想的属性。实际上,TCP被设计成了一种一刀切的解决方案,对于HTTP所使用的场景类型并没有进行特别调优。例如,TCP需要客户端和服务器之间的多次往返来建立连接;使用SSL加密的HTTPS,则需要更多的往返来建立加密连接,一定程度上降低了效率、提高了网络延迟。
在下一版HTTP中,有望引入谷歌主导开发的QUIC协议(快速UDP网络连接)。QUIC放弃了TCP,而使用了同级的UDP协议做传输层。
虽然UDP与TCP相反,是不可靠且无序的,但效率很高、速度快。谷歌调优后的QUIC更是重建了可靠性和有序性,但减少了连接次数,尤其是对于加密连接来说,能够使用先前协商过的相同加密恢复旧连接,而不需要任何额外的往返。
目前,HTTP的制定小组IETF正着手构建HTTP over QUIC,并且有望成为HTTP/3。