HTTP/2.0的新特性

一、HTTP/1.1的主要缺陷

1、队首阻塞

HTTP/1.1使用管道技术(Pipelining),,使得:
客户端可以并行发送多个请求,服务器也可以并行处理多个请求
但是根据FIFO(先来先服务)的规则,
服务器要按照接收请求的顺序 来返回响应
客户端接收响应的顺序也要和自己发送请求的顺序相对应
这样就会导致队首阻塞(Head of line blocking)问题
如果服务器处理第x个请求的时间过长,那么对于序号大于x的所有请求,即使它们已经被服务器处理完、生成响应,也只能阻塞等待

2、只能由客户端发起请求

3、请求/响应报文的首部信息冗余

4、报文数据不强制压缩,导致传输量大

二、HTTP/2.0的特性

1、二进制传输

在HTTP/1.x中,通过文本形式传输数据
而在HTTP/2.0中,所有数据都会被分割,并在应用层和传输层之间增加一个二进制分帧层
首部信息被封装到Header帧,请求主体被封装到Data帧,采用二进制编码

2、多路复用

在HTTP/2.0中,每个请求/响应都可以看作一个流(stream),并给每个stream分配id
一个TCP连接上可以有多个stream,stream中的帧都是乱序的
到对端后 再根据帧的stream_id重新组装
这样可以避免队首阻塞问题,极大地提高传输性能

3、首部压缩

在HTTP/2.0中,使用HPACK压缩格式对header进行编码,减少header大小
并在通信两端维护索引表,记录出现过的header
对于相同的header,不必多次发送

4、服务器推送

服务器可以在客户端某个请求后,主动推送其他资源

5、更安全

虽然HTTP/2.0协议本身并没有声明,但是Chrome等浏览器强制要求使用HTTP/2.0时必须要用上SSL,也就是说必须要用https://

原文链接:https://www.jianshu.com/p/ac7067270baa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值