首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >http2.0 有什么优势

http2.0 有什么优势

作者头像
dys
发布2018-04-03 10:11:54
1.2K0
发布2018-04-03 10:11:54
举报
文章被收录于专栏:性能与架构性能与架构

现在我们使用的是Http1.1,互联网发展迅速,http这个基础协议也要升级了,http2.0就要来了 http2.0 的核心优势 (1)采用二进制格式传输数据,而非 http1.1 的文本格式,二进制格式在协议的解析和优化扩展上带来更多的优势和可能 (2)对消息头采用 HPACK 进行压缩传输,能够节省消息头占用的网络的流量,而 http1.1 每次请求,都会携带大量冗余头信息,浪费了很多带宽资源,头压缩能够很好的解决该问题 (3)多路复用,就是多个请求都是通过一个 TCP 连接并发完成,http1.1 虽然通过pipeline也能并发请求,但是多个请求之间的响应会被阻塞的,所以 pipeline 至今也没有被普及应用,而 http2.0做到了真正的并发请求,同时,流还支持优先级和流量控制 (4)Server Push,服务端能够更快的把资源推送给客户端,例如服务端可以主动把 JS 和 CSS 文件推送给客户端,而不需要客户端解析 HTML 再发送这些请求,当客户端需要的时候,它已经在客户端了 http2.0 的基础 http2.0 有一个根本性的改动,就是不使用文本格式了,采用了二进制格式 二进制更易于frame(帧 数据包)的实现 frame 就是 http2.0 的基础,可以把它理解为TCP的数据包一样,http2.0 之所以能够有如此多的新特性,正是因为底层数据格式的改变 http2.0 中 每次传输的数据视为数据流,整个数据被拆分放入多个 frame 中,每个 frame 中记录了此帧的数据长度、类型、所属数据流的ID 多路复用 http2.0 能对网络效率有较大提升,其中一个主要原因就是使用了‘多路复用’机制 先看下http1.1中多请求的处理方式

可以看到,要么是串行,一个请求完成后再发另一个请求,要么是可以并发,但请求结果的返回过程必须是顺序的,第一个响应完成后,才能响应第二个,即使第二个先处理完成,也要等待第一个,就产生了阻塞

http2.0 的处理方式

只要有了请求结果数据,可以立即返回,不关心顺序问题,因为数据都被组装成了一个个的frame帧,frame中记录了自己所属数据流的ID,客户端把frame都接收到以后,根据数据流ID再进行组装即可

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档