博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Google 的 QUIC 华丽转身成为下一代网络协议: HTTP/3.0
阅读量:5925 次
发布时间:2019-06-19

本文共 1681 字,大约阅读时间需要 5 分钟。

006tNbRwly1fx7wjepg30j30rs0btt9d.jpg

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 协议有如下的优势:

  1. 减少 TCP 三次握手及 TLS 握手时间。
  2. 改进的拥塞控制。
  3. 避免队头阻塞的多路复用。
  4. 连接迁移。
  5. 前向冗余纠错。

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 更快也更安全。

006tNbRwly1fx7vseisqbj30aa05i74b.jpg

QUIC 即 HTTP/3.0

QUIC 虽然在 2013 年就被 Google 提出,但是直到 2015 年才被提议作为 IETF 的标准草案,并在一年之后,就是 2016 年 7 月,提出了 HTTP-over-QUIC。

006tNbRwly1fx7whzheedj30lc0cj0t8.jpg

在上个月的邮件讨论中,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%,从趋势上看,可以说离我们还很远。

006tNbRwly1fx7wad1hkyj30gq0beq2u.jpg

小结

HTTP/3.0 是一个仍在开发中的协议,计划在今年内完成,但是可以预见的,它离普及还很远。

很多协议的设计思想是非常值得我们借鉴与学习的,对协议有兴趣的朋友,我找了一篇腾讯团队的资深研发工程师写的一篇 QUIC 协议的原理分析,通俗易懂,有兴趣可以点击“”查看。

觉得有帮助记得点赞和分享哦,谢谢。

参考:


公众号后台回复成长『成长』,将会得到我准备的学习资料,也能回复『加群』,一起学习进步;你还能回复『提问』,向我发起提问。

推荐阅读:

| | | | | | | |

006tKfTcly1fpzmg0hppuj30rs0b474v.jpg

转载地址:http://ybavx.baihongyu.com/

你可能感兴趣的文章
能源项目xml文件 -- app-context.xml
查看>>
P4 前端编译器p4c-bm、后端编译器bmv2命令安装 make error问题
查看>>
C#2.0 to 4.0
查看>>
mysql索引失效
查看>>
Windows下卸载软件时提示 等待先前的卸载完成? 终止 dllhost.exe 进程
查看>>
JAVA设计模式之门面模式(外观模式)
查看>>
java遇见的问题分析
查看>>
基于key/value+Hadoop HDFS 设计的存储系统的shell命令接口
查看>>
Log4Net的WebApplication使用
查看>>
路由器与交换机区别
查看>>
8-12 canvas专题-阶段练习一(上)
查看>>
keras系列︱Application中五款已训练模型、VGG16框架(Sequential式、Model式)解读(二)...
查看>>
Linux学习笔记之一————什么是Linux及其应用领域
查看>>
springcloud~Eureka实例搭建
查看>>
git工具 将源码clone到本地指定目录的三种方式
查看>>
dubbo源码解析-zookeeper创建节点
查看>>
【2018-11-15】中证1000指数的估值详情
查看>>
新的一年
查看>>
js数组去重,合集等操作
查看>>
BPM与Workflow的区别
查看>>