HTTP/2 多路复用技术分享

本文介绍了HTTP/2协议及其相对于HTTP 1.1的优势,特别是多路复用技术,该技术通过一个连接实现并行传输,减少延迟,提高性能。文章详细解释了多路复用的工作原理,并对比了HTTP 1.1的Keep-Alive。同时,给出了使用Node.js + Express实现HTTP/2的例子,并提到现代浏览器普遍支持HTTP/2。
摘要由CSDN通过智能技术生成

什么是 HTTP/2

HTTP/2 就是超文本传输协议的第二个主要版本,是自1999年 HTTP 1.1 之后发布的首个更新,主要基于 SPDY 协议(是Google开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验)。

和 HTTP1.1 比起来有什么优势

1. HTTP/2采用二进制格式而非文本格式

2. HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行

3. 使用报头压缩,HTTP/2降低了开销

4. HTTP/2让服务器可以将响应主动“推送”到客户端缓存中

其中的 多路复用对前端优化性能有很大的帮助

什么是多路复用

在 HTTP 1.1 中,发起一个请求是这样的:

浏览器请求 url -> 解析域名 -> 建立 HTTP 连接 -> 服务器处理文件 -> 返回数据 -> 浏览器解析、渲染文件 

这个流程最大的问题是,每次请求都需要建立一次 HTTP 连接,也就是我们常说的3次握手4次挥手,这个过程在一次请求过程中占用了相当长的时间,而且逻辑上是非必需的,因为不间断的请求数据,第一次建立连接是正常的,以后就占用这个通道,下载其他文件,这样效率多高啊!

为了解决这个问题, HTTP 1.1 中提供了 Keep-Alive,允许我们建立一次 HTTP 连接,来返回多次请求数据。

但是这里有两个问题:

HTTP 1.1 基于串行文件传输数据,因此这些请求必须是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值