http 2.0 前瞻

发布于 2022-01-04 13:01:25 字数 1380 浏览 1032 评论 0

虽然 http 2.0 暂时还未大面积推广使用,但是大家已经看到了未来的光明。

与 HTTP 1.1 相比,主要区别包括

  • HTTP/2 采用二进制格式而非文本格式
  • HTTP/2 是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行
  • 使用报头压缩,HTTP/2 降低了开销
  • HTTP/2 让服务器可以将响应主动 推送 到客户端缓存中

如果要部署 HTTP/2,首先需要将网站升级为 HTTPS

HTTP/2 协议本身并没有要求必须基于 TLS 部署,但当前所有浏览器均只支持 HTTP/2 Over TLS。这样做一方面更安全,另一方面利用 TLS 的加密机制可以更好地穿透网络中间节点。

HTTP/2 支持程度

  • 目前支持 HTTP/2 的浏览器有 Chrome 41+、Firefox 36+、Safari 9+、Windows 10 上的 IE 11 和 Edge。
  • 服务器方面则有 F5、H2O、nghttp2 等数十种选择,各种语言实现的都有。
  • Nginx 在 2015 年底也正式支持了
  • 基本上可以说通用了

落后的浏览器咋办?

不支持 HTTP/2 的浏览器还能正常访问么,答案是能, HTTP/2 有自己的协议协商机制,根据浏览器与服务器的支持情况,直接或协商使用 http/2、或是降级使用 http 1.1

调试

不同于 HTTP/1 的文本格式报文,HTTP/2 传输的都是二进制帧,调试起来要麻烦一些。可以使用 chrome 扩展来协助调试

性能优化

服务端推送

HTTP/2 的多路复用特性,使得可以在一个连接上同时打开多个流,双向传输数据。Server Push,意味着服务端可以在发送页面 HTML 时主动推送其它资源,而不用等到浏览器解析到相应位置,发起请求再响应。另外,服务端主动推送的资源不是被内联在页面里,它们有自己独立的 URL,可以被浏览器缓存,当然也可以给其他页面使用。
服务端可以主动推送,客户端也有权利选择接收与否。如果服务端推送的资源已经被浏览器缓存过,浏览器可以通过发送 RST_STREAM 帧来拒收。
可以看到,HTTP/2 的 Server Push 能够很好地解决「如何让重要资源尽快加载」这个问题,一旦普及开来,可以取代前面介绍过的 HTTP/1 时代优化方案。

多路复用和头部压缩,减少带宽请求

总结

未来很美好,只是很遥远,估计 http 1.1,还得 10 年才会退出历史舞台。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

琴流音

暂无简介

文章
评论
588 人气
更多

推荐作者

卷耳

文章 0 评论 0

佚名

文章 0 评论 0

℉服软

文章 0 评论 0

qq_2gSKZM

文章 0 评论 0

凉宸

文章 0 评论 0

gyhjy

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文