详解 HTTP:协议基础与 Go 语言实现
[日] 涩川喜规
《Go 系统编程》作者
407 人已学习
立即订阅
登录后,你可以任选4讲全文学习
课程目录
已完结/共 23 讲
时长 24:41
时长 19:39
时长 06:49
时长 00:38
详解 HTTP:协议基础与 Go 语言实现
15
15
1.0x
00:00/00:00
登录|注册

第 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
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

HTTP/2 和 HTTP/3 是革命性的新一代网络协议,采用二进制协议、首部压缩等技术,实现了多路收发二进制数据和服务器推送,带来了巨大的通信速度和效率提升。HTTP/2 通过流的虚拟 TCP 套接字实现了并行执行上万个连接,而 HTTP/3 进一步提高了通信速度。HTTP/3 通信必须加密,而在很多服务器中,如果没有 TLS,就无法启用 HTTP/2。此外,文章还介绍了预加载、预渲染和 Priority Hints 规范的相关内容,以及 HPACK 压缩首部和 QUIC 协议的演化过程。HTTP/3 的出现重新定义了网络协议,实现了多路收发二进制数据和服务器推送,带来了巨大的通信速度和效率提升。整体而言,本文深入解析了网络协议的新特性和发展趋势,对于理解和应用新一代网络协议具有重要的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《详解 HTTP:协议基础与 Go 语言实现》
立即购买
登录 后留言

精选留言

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