HTTP 1.0、1.1、2.0区别

HTTP 1.0

无法复用连接,每次发送请求都需要进行一次TCP连接(三次握手四次挥手),使得网络利用率非常低下。

HTTP 1.1

  • 默认保持长连接,一次数据传输完成后,TCP可以保持连接不断开,继续使用这个通道传输通道

管道化的请求响应:

请求1 --> 请求2 --> 请求3 > 响应1 --> 响应2 --> 响应3
  • 但是同一时间只能对应一个http请求 (http请求在一个TCP中是串行的), 只要有一个请求阻塞,则后续的都阻塞,队头阻塞
  • 不同域名的请求不能共用一个TCP连接,而且就算是同一个域名下的请求,也要看服务器支不支持pipeline。
    在这里插入图片描述

HTTP 2.0

基于二进制格式的编码,在同一域名下所有访问都是从同一个tcp连接中走,http消息被分解为独立的帧,乱序发送服务端根据帧中标识符和首部将消息重新组装起来不会出现队头阻塞问题,极大的提高传输性能。

  • 同域名下所有通信都在单个连接上完成,消除了因多个 TCP 连接而带来的延时和内存消耗。
  • 单个连接上可以并行交错的请求和响应之间互不干扰
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值