HTTP/2.0 还没有普及, HTTP/3.0 标准就要被制定了.
据 IETF 透露, HTTP-over-QUIC 实验协议将被重命名为 HTTP/3, 并成为 HTTP 协议的第三个正式版本.
IETF 是 Internet Engineering Task Force 的缩写, 意思是互联网工程任务小组, 主要负责互联网标准的开发和推动. 被他们 "钦定",HTTP-over-QUIC 成为 HTTP/3.0 算是没跑了.
QUIC
先来了解一下什么是 QUIC.
QUIC(Quick UDP Internet Connections), 是快速 UDP 互联网连接的缩写, 这是一种实验性的传输层协议, 由 Google 开发, 在 2013 年实现.
QUIC 是基于 UDP 协议, 它在两个端点之间创建连接, 且支持多路复用. 在设计之初 QUIC 希望能够提供等同于 SSL/TLS 层级的安全保障的同时, 减少数据传输及创建连接时的延迟时间, 双向控制带宽, 从而达到更快速的体验.
QUIC 相比现在广泛应用的 HTTP2 + TCP + TLS 协议有如下的优势:
减少 TCP 三次握手及 TLS 握手时间.
改进的拥塞控制.
避免队头阻塞的多路复用.
连接迁移.
前向冗余纠错.
HTTP-over-QUIC 算是 QUIC 协议的一种应用实现, 而在 IETF 开始标准化该协议时, 也有意将它分为两层: 传输和 HTTP 部分.
这个想法也是想将 QUIC 传输的部分独立出来, 这样可以方便的用于其他场景下的数据传输, 而不仅仅为 HTTP 或者其他类 HTTP 的协议使用.
Google 与 QUIC
Google 一直在对协议标准上做努力, 早年间提出的 SPDY 协议, 被 IETF 标准化之后推出了类似于 SPDY 的 HTTP/2.0 协议标准, Google 立即宣布放弃对 SPDY 的支持, 转而支持 HTTP/2. 而 QUIC 也是 Google 提出的一种基于 UDP 的传输协议.
Google 希望 QUIC 能够慢慢取代 TCP 和 UDP, 成为移动互联网上, 二进制数据传输的新协议. 通过 Google 的测试证明, QUIC 更快也更安全.
QUIC 即 HTTP/3.0
QUIC 虽然在 2013 年就被 Google 提出, 但是直到 2015 年才被提议作为 IETF 的标准草案, 并在一年之后, 就是 2016 年 7 月, 提出了 HTTP-over-QUIC.
在上个月的邮件讨论中, IETF HTTP 和 QUIC 工作组主席 Mark Nottingham 正式提出将 HTPP-over-QUIC 重命名为 HTTP/3.0. 随后的几天讨论中, 此项提议被 IETF 成员接受, 并给出了官方认可.
自此, HTTP-over-QUIC 正式成为 HTTP/3.0, 为 HTTP 协议的下一个主要版本.
QUIC 还有多远
虽然 Chrome 从 29 版本开始就添加了 HTTP-over-QUIC 的支持, 并且今年开始 Facebook 也开始采用这项技术.
但是这个在 HTTP/2.0 还不是主流的环境下, HTTP/3.0 已经确定, 它就在未来的某个地方.
据 W3Techs 统计, 截止到 2018 年 11 月, 前 1000 万网站在中, 有 31.2% 支持了 HTTP/2.0, 而 QUIC 只有 1.2%, 从趋势上看, 可以说离我们还很远.
小结
HTTP/3.0 是一个仍在开发中的协议, 计划在今年内完成, 但是可以预见的, 它离普及还很远.
很多协议的设计思想是非常值得我们借鉴与学习的, 对协议有兴趣的朋友, 我找了一篇腾讯团队的资深研发工程师写的一篇 QUIC 协议的原理分析, 通俗易懂, 有兴趣可以点击 "阅读原文 https://zhuanlan.zhihu.com/p/32553477" 查看.
觉得有帮助记得点赞和分享哦, 谢谢.
参考:
- https://daniel.haxx.se/blog/2018/11/11/http-3
- https://zhuanlan.zhihu.com/p/32553477
来源: https://www.cnblogs.com/plokmju/p/http_over_quic.html