HTTP1.0,1.1,2.0的版本区别

1. HTTP1.0

1.1 一个请求一个TCP连接

  • 对于一个请求中,响应的html页面可能包含css,img等资源,则需要为请求这些资源再次建立连接

2. HTTP1.1

2.1 支持长连接

  • 一个TCP连接内可以发送多个请求。避免了重复连接的开销

2.2 支持管道网络传输

  • 以前发一个HTTP请求后,收到HTTP响应后才可以再发第二个HTTP请求,现在可以发送完第一个HTTP请求后不需要等收到响应就可以发送第二个HTTP请求。
  • 但是服务端必须按照接收到的客户端请求的先后顺序依次返回响应结果,以保证客户端能够区分每次请求的响应内容。(所以可能会有对头阻塞的问题)

3. HTTP2.0

3.1 支持头部压缩

  • 压缩请求头部。
  • 利用HPACK算法:在客户端和服务器端同时维护一张头信息表(静态表和动态表),将头部字段都会存入这个表,生成索引号,以后就不发送同样字段了,只发送索引号。提高了速度

3.2 二进制格式

  • 数据采用二进制格式传输。头信息帧+数据帧
  • 增加了数据传输的效率

3.3 多路复用

  • 一个连接中并发多个请求或回应,而不用按照顺序一一对应

3.4 服务器推送

  • 服务器不再是被动的响应
  • 比如浏览器请求html的时候,服务器不光响应html页面,而且提前把需要用的js、css等资源主动发给客户端。
  • 减少了延时的等待。

3.5 HTTP2.0的缺陷

  • 多个HTTP请求共用一个TCP连接。如果前面一个包(http请求)丢失。超时重传机制会导致后面的http请求都必须等待这个丢失的包被重传回来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值