极客视点
极客时间编辑部
极客时间编辑部
113245 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/05:34
登录|注册

5分钟看懂HTTP/3

讲述:丁婵大小:7.64M时长:05:34
你好,欢迎收听极客视点。
2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推送等优势,HTTP/2 得到了越来越多开发者的青睐,不知不觉的 HTTP 已经发展到了第三代,且受到很大的关注。不久前开发人员马赫迪·扎伊德(Mehdi Zed)发文解读 HTTP/3,InfoQ 对其进行了翻译,供你参考。
HTTP 是用来管理 Web 的。它的全名是超文本传输​​协议,让你可以从网页中获取资源,网页数据从 Web 服务器传输到你的浏览器上。它基于较低级别的协议——TCP,而且它是无状态的。这意味着每个请求都是完全独立的。页面上显示的每个 GIF 图片都在互联网上独立存在,这对这些 GIF 图片本身来说是好事。但对我们来说,这样的一个系统是有些支离破碎的。
问题在于每个请求一次只会查找一个文件,每次都要创建一个昂贵的 TCP 连接。想象一下,如果你的页面上有 10,000 个小技巧,这会是多么沉重的负担啊。为了更好地向你解释互联网的协议机制,这里有一张图供你参考。
尽管浏览器可以同时发出六个不同的请求,但是 HTTP 仍然很慢,并且需要很多 TCP 连接。另外,我们开发人员通常不会在意这一点。我们喜欢在页面上塞满各种垃圾,比如说巨大的 jQuery 库,包含 300 个无用的 CSS 样式表,结尾是一个透明的 8 兆大 PNG 图。
当谷歌发现我们在互联网上到处倾倒垃圾后,他们就开始搞一个称为 SPDY 的东西了。目的是什么呢?当然是加快互联网的速度。
SPDY 是一个规范,建议继续使用 HTTP,但要更改一些规则。通过压缩标头、对请求进行优先级排序和多路复用,它将把所有 TCP 请求和连接变成单独的一个。
具体来说,当你读取 HTML 时,浏览器会查看你在页面中要询问的所有内容。然后,它可以一次获取所有内容,这样就可以避免一个文件一个文件地获取了。
HTTP/2 的第一份草案基于 SPDY,它很快被广泛采用了,如今,互联网上 42.7%的内容使用 HTTP/2。
HTTP/2 是以 HTTP 为基础并改动一些规则的产物,HTTP/3 也是如此。
SPDY 演变成为 HTTP/2 后,谷歌认为它仍然不够快。因此,他们开始讨论 QUIC 这个项目。这是谷歌开发的第二项将成为 HTTP 协议正式升级的技术。那么,这个协议有什么特别之处?
HTTP/3 的主要改进在传输层上。传输层不会再有那些繁重的 TCP 连接了。现在,一切都会走 UDP。
顺便说一下,QUIC 的意思是“快速 UDP Internet 连接”,协议的这种更改将显著加快连接建立和数据传输的速度。然而,虽说 UDP 肯定更快、更简单,但它不具备 TCP 的可靠性和错误处理能力。
TCP 必须进行多次往返,才能以方形且稳定的方式建立连接。UDP 不会顾虑那么多,而且它确实可以快速运行,代价是稳定性下降和丢包的风险。但是,UDP 能大大减少请求中的延迟,到同一服务器的重复连接,延迟几乎为零,因为不需要往返来建立连接。
HTTP/3 是 HTTP/2 的复用和压缩,协议从 TCP 更改为 UDP。然后,谷歌在协议中添加了他们做的层,以确保稳定性、数据包接收顺序及安全性。
因此,HTTP/3 在保持 QUIC 稳定性的同时使用 UDP 来实现高速度,同时又不会牺牲 TLS 的安全性。没错,在 QUIC 中就有 TLS1.3,你可以用它发起优雅的 SSL。
2018 年,QUIC 演变成为 HTTP/3。互联网工程任务组(Internet Engineerring Task Force)那些制定互联网协议的人也同意了这个提案。
HTTP/3 代表着充满魅力的未来,它的 HTTP 基础潜能已经被谷歌的极客发挥到极致,相信未来 HTTP/3 的使用率会越来越高。而作为程序员,如果你不懂 HTTP 协议,那就相当于是个只有“半桶水”的程序员。
不过,任何时候学习都不晚。奇虎 360 技术专家罗剑锋(Chrono)长期从事 Web 后台服务器的研发工作,深知 HTTP 的逻辑、基本原理与应用。在他的极客时间专栏《透视 HTTP 协议》中,他可以带你一起,花最少的时间,用最少的精力,掌握最多、最全面、最系统的 HTTP 相关知识。以下是这个专栏的目录,供你参考。使用极客视点专属口令,可以享受立减优惠。
优惠口令:HTTPxieyi
适用规则:立减 10 元(满 40 元可用)
有效期:9 月 8 日 - 9 月 15 日
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
54
沉浸
阅读
分享
手机端
快捷键
回顶部