周一,IETF透露它将HTTP-over-QUIC实验协议重命名为HTTP / 3。HTTP-over-QUIC是一种HTTP重写,用TCP替换TCP。

如果这看起来有点为时过早,那么它与IETF的历史运作方式并不完全不符。就像TLS 1.3在每个网站甚至已经切换到TLS 1.2之前推出的那样(尽管到8月份绝大多数都有)并且SHA-3已经建立,尽管几年前SHA-2开始使用。因此,尽管事实上只有31.2%的前1000万网站甚至使用HTTP / 2,但HTTP / 3已经出现。

已经有1000万支持QUIC的1.2%。那是大约120,000个网站。

那么,什么是HTTP-over-QUIC - 或者我想现在它是HTTP / 3 - 这个新协议对于 SSL / TLS  行业意味着什么?

什么是HTTP / 3(又名HTTP-over-QUIC)

HTTP-over-QUIC是一种实验性的Google协议,它是一种HTTP重写,它在QUIC中交换传统上位于互联网核心的标准TCP。

TCP是传输控制协议,与IP(互联网协议)一起,它已成为定义互联网多年的基本规则之一。它足够老,它有一个三位数的RFC编号。这是一个IETF的笑话,TCP是在1981年定义的.TCP是一种面向连接的协议,它旨在提供无差错的数据传输,它控制数据如何分解成数据包并传播到连接的另一端。

不幸的是,无差错传输功能是一把双刃剑,因为它可以增加连接的延迟。它必须确保它接收每个数据包,并运行校验和哈希来验证这一点。简而言之,散列是一种单向函数,有助于验证真实性。如果数据全部按预期到达,则校验和产生的哈希值将与已知的哈希值匹配。如果没有,TCP将使连接另一端的一方再次发送它。

QUIC是Quick UDP Internet Connections的首字母缩写。这引出了一个问题,什么是UDP?UDP是用户数据协议。解释这个问题的最好方法是回到我们刚刚与TCP讨论过的无差错传输。UDP是另一种连接协议,但它不提供无差错传输。相反,它促进了一种低延迟的连接(由于它容忍一些数据丢失的事实)。

将它应用于现实生活可能会很有启发性。TCP无处不在,互联网上的绝大多数流量都是TCP。这非常适合数据保真度很重要的情况。当您在YouTube上看到视频缓冲,或者在节目加载时您在Netflix上获得风车 - 这是一个TCP连接。您的设备基本上是在说“我需要在继续之前了解这些数据。”

在UDP优先的情况下,当您需要发送恒定的实时数据流时,延迟是不可接受的。一些明显的背景是IP语音(VoIP),Skype和视频游戏网络等视频消息应用。在这种情况下,UDP只会在连接另一端的聚会上抛出一个恒定的数据流,如果有些数据丢失,数据最终会赶上来。这称为尽力而为。

QUIC是由Google设计的实验性协议。这可能看起来很奇怪,但谷歌的SPDY最终变成了HTTP / 2,所以这也不是前所未有的。QUIC本质上是谷歌重写TCP的尝试,它结合了HTTP / 2,TCP,UDP和传输层安全性(TLS)等。目标是让QUIC替换TCP和UDP。它默认是加密的,这意味着它比它的前辈更快,更安全。这主要是因为它使用TLS 1.3(RFC 8446)并利用其改进的单次往返握手和零往返恢复功能。

 
QUIC的另一个重要收益是改善拥塞控制和丢失恢复。重传数据包时,不会重复使用数据包序列号。这避免了关于已经接收到哪些分组的模糊性并且避免了可怕的重传超时。因此,在网络状况不佳的情况下,QUIC比TCP更胜一筹,为最慢1%的连接缩短了Google搜索页面加载时间。对于像YouTube这样的视频服务,这些好处更加明显。用户在使用QUIC观看视频时报告的重建次数减少了30%。这意味着花在盯着微调器上的时间更少,观看视频的时间也更多。
      

虽然最初只有Google的服务器支持HTTP-over-QUIC,但今年早些时候Facebook也增加了支持。

这对SSL / TLS行业意味着什么?

就如何与当前的SSL / TLS生态系统一起使用而言,它不会对数字证书的使用产生太大的直接影响,因为TLS在协议中被烘焙,并且身份验证仍然需要由可信证书处理当局和PKI。

可能来自HTTP / 3的最大好处是,它将迫使网站更快地支持TLS 1.3。

但是,由于不到三分之一的互联网甚至使用HTTP / 2而且我们仍然有一小部分乱七八糟的人依赖于HTTP(以及一些愿意死在那座山上的人),但这仍然可能暂时不会有一段时间。)。

来源:沃通ssl证书

IETF透露HTTP over QUIC 将重命名为HTTP/3 协议的更多相关文章

  1. [工具类]文件或文件夹xx已存在,则重命名为xx(n)(2)

    写在前面 最近一直在弄文件传输组件,其中一个功能就是,在接收端接收文件时,如果文件已经存在了,则对其进行文件名+索引的方式进行自动重命名,之前也写个类似的工具类,总感觉代码太冗余,每回头想想,总觉得心 ...

  2. [工具类]文件或文件夹xx已存在,则重命名为xx(n)

    写在前面 最近在弄一个文件传输的一个东东,在接收文件的时候,如果文件已经存在,该如何处理?提示?删除?感觉直接删除实在不太合适,万一这个文件对用户来说很重要,你给他删除了肯定不行.然后就想到了,win ...

  3. ecshop 优化_将商品详情页goods.php重命名为shangpin.php

    有人说,将商品详情页的文件名 goods.php 改一个名字,对百度收录会有帮助,也许吧,这里不讨论是否有帮助,这里只讲解如何重命名. 例如:我们将 goods.php 改为 shangpin.php ...

  4. STVD中将现有工程重命名为另一个工程

    http://blog.csdn.net/sy_lixiang/article/details/47273649 例子:把工程名为Template的工程改为color,把左边红圈部分重命名为右面的名字 ...

  5. {ubuntu}乱七八糟重命名为1 2 3.....png

    i=; for f in *.png; do mv "$f" ${i}.png; ((i++)); done 网上找了个测试的数据集,发现读取时候,要重命名一下 一片帖子问了类似的 ...

  6. 安装完C++builder6.0启动的时候总是出现无法将'C:\Program Files\Borland\CBuilder6\Bin\bcb.$$$'重命名为bcb.dro

    :兼容性问题  运行前右键属性“兼容性”-尝试不同的兼容性.比如“windows 8”

  7. CentOS7 网卡名称重命名为eth*

    CentOS7 禁用网卡名称命名规则,启动时传递"net.ifnames=0 biosdevname=0"/etc/default/grupgrup2-mkconfig -o /b ...

  8. centos7网卡重命名为ethx格式

    参考:https://www.cnblogs.com/zyd112/p/8143464.html CentOS 7 使用 eth0 这样的传统名称,那么在安装启动(pxe)时,按Tab键在下方输入以下 ...

  9. 重识TCP/IP协议族与HTTP基础

    不忘初心 砥砺前行, Tomorrow Is Another Day ! 本文概要: TCP/IP协议族的网络分层 TCP三次握手四次挥手 Http简介 报文结构 Http的请求方法及状态码 常用的H ...

随机推荐

  1. USACO 2008 Mar Silver 3.River Crossing 动态规划水题

    Code: #include<cstring> #include<algorithm> #include<cstdio> using namespace std; ...

  2. Javascript继承(原始写法,非es6 class)

    知识点: Object.create的内部原理: Object.create =  function (o) {     var F = function () {};     F.prototype ...

  3. nyoj181-小明的难题

    小明的难题时间限制:3000 ms  |  内存限制:65535 KB难度:2描述课堂上小明学会了用计算机求出N的阶乘,回到家后就对妹妹炫耀起来.为了不让哥哥太自满,妹妹给小明出了个问题"既 ...

  4. [USACO08NOV]奶牛混合起来Mixed Up Cows(状态压缩DP)

    题目描述 Each of Farmer John's N (4 <= N <= 16) cows has a unique serial number S_i (1 <= S_i & ...

  5. xml00

    <?xml verson="1.0" encoding="ISO-8859-1"?> xml声明<note> <to>jon ...

  6. iis配置问题报错 -- Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies

    具体提示: Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. 试图加载格式不正确的程序. ...

  7. JavaScript中==和===区别

    在我们的日常编码中对于===是不常用的,但是它很重要 ===:表示绝对相等(严格) !==:表示不绝对相等 ==:表示相等(不严格) !=:表示不相等 看一下列子: null==undefined   ...

  8. [SharePoint2010开发入门经典]二、开始SPS2010开发

    本章概要: 1.了解SPS2010开发要素(包括工具,平台服务,开发选项) 2.熟悉主要开发工具和部署方案 3.安装.配置.简单开发案例 4.理解网站级别的安全设置

  9. HBase读取代码

    HBase读取代码 需要的jar包: activation-1.1.jar aopalliance-1.0.jar apacheds-i18n-2.0.0-M15.jar apacheds-kerbe ...

  10. ACM-SG函数之Fibonacci again and again——hdu1848

    Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...