携手Chrome与Firefox:Cloudflare 全力支持 HTTP/3
(给程序员的那些事加星标)
转自:cnBeta
HTTP / 3 是超文本传输协议的下一个主要迭代版本,不过根据 W3Techs 的统计,目前其仅被全球 3% 的互联网网站所使用。
好消息是,在 Cloudflare、Google Chrome 和 Mozilla Firefox 的大力支持下,HTTP / 3 于今日得到了极大的推动。Cloudflare 宣布,该公司将于即日起为客户提供一个选项,以便其在控制台仪表盘上为自家域名启用 HTTP / 3 支持。
(图自:Cloudflare,via ZDNet)
启用后,当用户在具有 HTTP / 3 功能支持的客户端上访问 Cloudflare 托管的网站时,连接将被自动升级到最新的协议,而不是通过旧版协议进行处理。
浏览器方面,Chrome Canary 已于本月初添加了对 HTTP / 3 的支持。用户可通过 Chrome 命令行标记“--enable-quic --quic-version = h3-23”进行开启。
此外,Mozilla 计划在今秋晚些时候,为 Firefox 每夜构建版(Nightly Build)引入对 HTTP / 3 的支持。
(图自:Cloudflare)
作为 HTTP 的下一个主要版本,HTTP / 3 新协议覆盖了从服务器到客户端的内容,并在浏览器、移动应用、或其它程序中展示。
与前辈们相比,HTTP v3(或 HTTP / 3)已经过彻底的重写,使用全新的 QUIC(而不是 TCP)协议,且内置了 TLS 加密传输支持。
(图自:BMC)
这是多种技术的融合,一切只在让网站的加载速度更快,且默认启用加密连接进行传输。而想要深入 HTTP / 3 的原理,就需要从 OSI 网络模型开始说起了。
默认情况下,HTTP(第 7 层协议)是以 TCP(第 4 层协议)作为基础的。TCP 用于协商客户端和服务器之间的连接,然后在双方之间传输数据。
(图自:Cloudflare)
然而 TCP 可追溯至上世纪 70 年代,无法充分满足当下近乎实时的通信需求。经过无数工程师团队的多年努力,谷歌提出的 QUIC 方案得到了最多的认可。
据悉,该公司先是创建了 SPDY,以解决 TCP 的某些问题。后来又推出了 HTTP-over-SPDY,最终演变成了 HTTP / 2,目前该版本在互联网站点中的使用率接近 40% 。
不过 SPDY 只是针对 TCP 及其原理的另一改进,Google 工程师意识到,如果将 TCP 的可靠性和 UDP 的速度结合在一起,就能形成一个全新的协议,让一切变得更好。
如此一来,就催生了 QUIC 协议的出现。其全称为“快速 UDP Internet 连接”,顾名思义,该协议融合了 TCP 和 UDP 的最佳特性,以构建更快速的第 4 层传输协议。
至于 HTTP / 3,其在超文本传输协议内部实现了 QUIC,在传输级别上取代了 TCP 和 SPDY,并于去年十月正式获得了批准通过。
往期热文(点击图片即可阅读)
关注「程序员的那些事」加星标,不错过圈内事
圈内事,我在看❤️
- ajax中获取XMLHttpRequest对象的方法(IE/Firefox/chrome)
- ubuntu12.04给firefox,chrome装flash支持
- 上传图片之前预览的效果(支持所有浏览器,包括IE6-8,chrome,opera,firefox等)
- Firefox HTTP“Content-Type”中的“audio/x-mpeg”不支持
- phoenixframe自动化测试平台对Firefox和chrome支持的说明
- 浏览器HTTP_USER_AGENT汇总——Firefox、Chrome、IE9、IE8、IE7、IE6
- HTML5视频方案:支持iPad Safari、Firefox、Chrome、IE9876
- jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
- HttpWatch v10.x发布,支持在Firefox 35-35版中使用HTTP/2丨附下载
- JS 在页面上直接将json数据导出到excel,支持chrome,edge,IE10+,IE9,IE8,Safari,Firefox
- Firefox、Chrome、IE9、IE8、IE7、IE6等浏览器HTTP_USER_AGENT汇总
- 转:模态对话框的支持 (IE,Firefox,Chrome)
- 基于raphael 的图形变化(支持firefox,chrome,IE, opera)
- chrome和Firefox浏览器http抓包
- firefox chrome ie9,10,11 不支持selectSingleNode和selectNodes的解决方法
- 让IE、Firefox、Chrome中的LI都支持display-block的兼容写法
- [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器
- CSS Hack技术详解,支持IE 6-11、Chrome、FireFox、Safari、Opera 6-11、Chrome、FireFox、Safari、Opera6-11、Chrome、FireFox、Safari、Opera6-11、Chrome、FireFox、Safari、Opera
- CSS透明度设置支持IE,Chrome,Firefox浏览器
- 基于raphael 的图形变化(支持firefox,chrome,IE, opera)