查看原文
其他

下一代 HTTP 底层协议或将弃用 TCP 协议,改用 QUIC 协议

(给程序员的那些事加星标


转自:新浪科技

tech.sina.com.cn/it/2018-11-14/doc-ihnvukfe9039035.shtml


据 iThome.com.tw 报道,国际互联网工程任务组(Internet Engineering Task Force, IETF)将于近日商讨下一代 HTTP 底层协议,可能不再使用已经沿用多年的 TCP 协议,而有望改用以 UDP 协议发展出的 QUIC 技术,同时新一代 HTTP 将命名为HTTP/3。


目前,人们使用的HTTP (1.0、1.1及2)都是以 TCP (Transmission Control Protocol) 协议为基础实作出来。


TCP 作为一种传输控制协议,优点是安全、流量稳定、讲求封包的传输顺序,但缺点是效率低、连接耗时。为了提升数据在IP网络上的传输,Google提出了实验性网络层协议,称为QUIC。



QUIC并不使用TCP,而改用UDP (User Datagram Protocol)为底层,UDP虽然较不安全、可能有掉封包或封包后发先至的问题,但较简单、传输效率更高,能大幅减低延迟性。Google为QUIC提升安全性、并加入缓冲机制避免阻断服务攻击(DoS)。


虽然Google有意将QUIC提交到IETF,以便成为下一代网际网络规范,但IETF也提出了一个和Google QUIC分庭抗礼的QUIC。社区中称Google提出的QUIC为gQUIC,而IETF的为iQUIC。


另一方面,当IETF的QUIC工作小组将QUIC标准化时,它衍生出共两个协议,一个是网络传输协议,一个是HTTP层协议。网络传输层协议也可用于传输其他数据,不只为HTTP设定,但两者名称都使用了QUIC;而在iQUIC上传输的HTTP协议,长期以来就被称为HTTP-over-QUIC,或HTTP/QUIC。


为了解决种种混淆,让彼此之间更容易分别,IETF决定加以正名。HTTP工作小组暨QUIC工作小组主席Mark Nottingham倡议将HTTP-over-QUIC(HTTP/QUIC)重新命名为HTTP/3,并在上周举行的IETF HTTPBIS会议中提议,并且也广为接受。


Mozilla开发人员Daniel Stenberg日志列出了Nottigham在会中的简报,简报重申HTTP/3和之前协议之间的差异。HTTP/QUIC(HTTP/3)并非HTTP/1.1或HTTP/2的后代,也不是QUIC上的HTTP/2协议,因为它是在QUIC协议上新开发出的HTTP。下一代HTTP将是以QUIC为核心及网络传输协议的新协议。


Litespeed的工程师也宣布该公司和脸书已经完成HTTP/3实作的相容性测试。



推荐阅读

(点击标题可跳转阅读)

喵星人帮你来记 HTTP 状态码

一次完整的 HTTP 请求过程

通信协议——HTTP、TCP、UDP



关注「程序员的那些事」加星标,不错过圈内事

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存