http1.1长连接、http2.0多路复用 头部压缩

HTTP2.0引入了头部压缩(HPACK)以减少头部大小,提高效率,同时通过多路复用解决了HTTP1.1长连接中串行处理请求的问题,允许在同一TCP连接上并行处理多个请求,显著提升了web性能。此外,状态码的分类帮助理解请求处理状态。
摘要由CSDN通过智能技术生成

http2.0 头部压缩:

http请求和响应都包含【请求行/状态行、请求/响应头部、请求数据/响应数据】。
一般而言,请求数据/响应数据都会经过gzip压缩,或者本身传输的就是压缩过后的二进制文件(如图片、音频等),但是请求行/状态行和头部多是没有经过任何压缩,而是直接以纯文本的方式进行传输的。

然而,随着web功能越来越复杂,请求数量越来越多,随之而来的就是头部的流量越来越多,并且在建立初次链接之后的链接也要发送user-agent等信息,是在是一种浪费。

因此,http2提出了对请求和响应的头部进行压缩,即不再只是压缩主题部分,这种压缩方式就是HAPCK — 其设计简单而灵活。

通过压缩,头部大小可以减少一半之多,如果后面重复发送请求,那么可能压缩后的头部大小只有原始大小的 1/10。


http1.1的长连接和http2.0的多路复用到底有啥区别?

长连接:同一个域名访问同一个文件的多个请求都可以复用一个tcp连接(不用像1.0一样 每次请求都需要重新建立连接)
依然存在的问题:1.多个请求只能被串行处理(数据基于文本,只能按顺序传输);2.访问多个不同的文件依然会建立多个请求。
多路复用:同一个域名访问多个文件的请求也可以复用一个tcp连接,且多个请求可以被并行处理。
并行实现原理:http2.0引入二进制数据帧和流的概念(数据帧对每一个数据进行标识,可以不按顺序传输,从而实现并行)


状态码:

1xx:
指示信息–表示请求已接收,继续处理
2xx:
成功–表示请求已被成功接收、理解、接受
3xx:
重定向–要完成请求必须进行更进一步的操作。
4xx:
客户端错误–请求有语法错误或请求无法实现。
5xx:
服务器端错误–服务器未能实现合法的请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值