HTTP版本的区别

HTTP1.0与HTTP1.1的主要区别在于长连接默认支持、Host域的引入和带宽优化。HTTP1.1支持只发送header和使用Range头域进行部分传输。而HTTP2.0则引入了二进制格式、多路复用、header压缩和服务器推送,显著提高了网络性能和效率。

一、HTTP 1.0和HTTP 1.1的区别

1.http1.0 需要 keep-alive 参数来告知服务器要建立一个长连接,而 http1.1 默认支持长连接

2.HTTP 1.1 支持只发送 header 信息(不带任何 body 信息),如果服务器认为客户端有权限请求服务器,则返回 100,否则返回401。客户端如果接受到 100,才开始把请求 body 发 送到服务器。这样当服务器返回 401 的时候,客户端就可以不用发送请求 body了,节约了 带宽。

3.host http1.0 没有 host 域,http1.1 才支持这个参数。https://blog.youkuaiyun.com/u012111465/article/details/79779550

4.带宽优化及网络连接的使用HTTP1.0 中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1 则在请求头引入了 range 头域,它允许只请求资源的某个部分,即返回码是 206Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接。

二、HTTP 1.0和HTTP 2.0的区别

新的二进制格式Binary Format),HTTP1.x 的解析是基于文本。基于文本协议的格式解析存在 天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认 0 和 1 的组合。基于这种考虑 HTTP2.0 的协议解析决定采用二进制格式,实现方便且健壮。

多路复用MultiPlexing),即连接共享,建立起一个连接请求后,可以在这个链接上一直发送,不 要等待上一次发送完并且受到回复后才能发送下一个(http1.0 是这样),是可以同时发送多个请求, 互相并不干扰。

header 压缩,如上文中所言,对前面提到过 HTTP1.x header 带有大量信息,而且每次都要重复发送,HTTP2.0 利用 HPACK 对消息头进行压缩传输,客服端和服务器维护一个动态链表(当一个头部没有出现的时候,就插入,已经出现了就用表中的索引值进行替代),将既避免了重复 head er 的传输,又减小了需要传输的大小。(Hpack https://www.jianshu.com/p/f44b930cfcac

服务端推送server push),就是客户端请求 html 的时候,服务器顺带把此 html 需要的 css,js 也一起发送给客户端,而不像 http1.0 中需要请求一次 html,然后再请求一次 css,然后再请求一次 js

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值