第 7 章 HTTP/2 和 HTTP/3 的语法:重新定义协议(1)
[日] 涩川喜规
本章将介绍 HTTP/2、HTTP/3 以及在它们前后制定的各种新一代协议。
除此之外,本章还将介绍在 HTTP/1.1 中并未实现的 WebSocket 和 WebRTC,它们用来实现高速的双向通信、P2P 连接和符合动画特性的通信等,可以说进一步扩展了 Web 的可能性。
7.1 HTTP/2 和 HTTP/3 中未变化的内容
到 HTTP/1.1 为止的协议是参考电子邮件或新闻组制定的,使用文本表示,而 HTTP/2 和 HTTP/3 实现了巨大的飞跃。这是因为网站中使用的图像、CSS 和 JavaScript 等的文件的数量和大小都不断增加,我们需要更高速的传输结构。HTTP/2 和 HTTP/3 并不是一点一点地修改功能,而是将所有的元素分解,并从零开始实现,以满足这个需要大量资源的时代的要求。
为了降低通信开销,HTTP/2 和 HTTP/3 变为二进制协议,添加了符合 HTTP 特性的首部压缩等技术。另外,HTTP/2 和 HTTP/3 中还模拟了 TCP 层的处理,引入了高级的控制结构。
另外,前面介绍的方法、首部、状态码和主体等 HTTP 提供的 4 个基本元素并没有变化,因此,虽然从直接读写 HTTP/2 和 HTTP/3 的协议的客户端和服务器来看发生了很大变化,但从浏览器的前端和 Web 应用程序看来,它们与 HTTP/1.1 并没有什么差别。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
HTTP/2 和 HTTP/3 是革命性的新一代网络协议,采用二进制协议、首部压缩等技术,实现了多路收发二进制数据和服务器推送,带来了巨大的通信速度和效率提升。HTTP/2 通过流的虚拟 TCP 套接字实现了并行执行上万个连接,而 HTTP/3 进一步提高了通信速度。HTTP/3 通信必须加密,而在很多服务器中,如果没有 TLS,就无法启用 HTTP/2。此外,文章还介绍了预加载、预渲染和 Priority Hints 规范的相关内容,以及 HPACK 压缩首部和 QUIC 协议的演化过程。HTTP/3 的出现重新定义了网络协议,实现了多路收发二进制数据和服务器推送,带来了巨大的通信速度和效率提升。整体而言,本文深入解析了网络协议的新特性和发展趋势,对于理解和应用新一代网络协议具有重要的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《详解 HTTP:协议基础与 Go 语言实现》
《详解 HTTP:协议基础与 Go 语言实现》
立即购买
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论