精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
联系方式
当初在研究UDT时就觉得UDP在某些场合比较适合,果然,谷歌的创新精神,把UDP和安全流结合起来,搞了QUIC,再次给互联网加了个小火箭。这也两次证明底层开发有市场,为什么C语言这类语言在国外这么有市场。想掌握通信协议开发,研究QUIC是不错选择。
Internet工程任务组(IETF)的官员透露,HTTP-over-QUIC实验协议将重命名为HTTP/3,有望成为HTTP协议的第三个正式版本。
继Google的SPDY技术成为HTTP/2的基础之后,这将成为由Google开发的第二种实验技术,成为正式的HTTP协议升级。
HTTP-over-QUIC是对HTTP协议的重写,该协议使用Google的QUIC而不是TCP(传输控制协议)作为其基本技术。
QUIC代表”快速UDP Internet连接”,它本身就是Google尝试将TCP协议重写为一种结合了HTTP/2、TCP、UDP和TLS(用于加密)等多种技术的改进技术。
谷歌希望QUIC通信技术逐渐取代TCP和UDP,作为在Internet上移动二进制数据的新选择协议,并且出于测试给出的充分的理由,QUIC默认使用了更快、更安全新发布的TLS 1.3加密协议。
QUIC在2015年的IETF上被提出作为标准草案,而一年后又提出了HTTP-over-QUIC,即在QUIC之上重写HTTP而不是TCP的协议。
从那时起,Chrome 29和Opera 16以及LiteSpeed Web服务器中都添加了HTTP-over-QUIC支持。最初,只有Google的服务器支持HTTP-over-QUIC连接,而今年,Facebook也开始采用该技术。
QUIC和HTTP/3版本当前支持:Q039,Q043,Q046和h3-22。Q039,Q043和Q046是Google QUIC协议的版本。当前版本的Chrome(Chrome 76)使用Q046。 h3-22是下一代HTTP协议HTTP/3的实验性前身。随着新gQUIC和HTTP /3版本的发布,我们将更新该库。
与HTTP/2的比较,HTTP/3是为QUIC设计的,QUIC是一种自行处理流的传输协议。
HTTP/2是为TCP设计的,因此可以处理HTTP层中的流。
相似之处:这两个协议为客户端提供了几乎相同的功能集。
两种协议都提供服务器推送支持
两种协议都有头压缩,并且QPACK和HPACK在设计上相似。
两种协议都使用流在单个连接上提供多路复用
差异性:不同之处在于细节,主要是由于HTTP/3使用QUIC:
由于QUIC的0-RTT握手,HTTP/3更好,更可能提供早期数据支持,而TCP Fast Open和TLS通常发送的数据更少,并且经常遇到问题。
由于QUIC vs TCP + TLS,HTTP/3的握手速度更快。
不安全或未加密的版本不存在HTTP/3。 HTTP/2可以在没有HTTPS的情况下实现和使用-即使在Internet上很少使用。
HTTP/2可以在带有ALPN扩展名的TLS握手中直接协商,而HTTP/3在QUIC之上,因此它首先需要Alt-Svc:标头响应来告知客户端这一事实。
HTTP/3没有优先级。 HTTP/2的优先级排序方法被认为过于复杂,甚至是彻底失败,目前正在努力创建更简单的方法。这个计划的更简单的方案也计划能够使用HTTP/2的扩展机制在HTTP/2上反向运行。