http与http2对比

http演变历史

http0.9于1991发布
http1.0于1995发布
http1.1于1999发布
http2.0于2015发布

http相关优化

影响http的快慢两个主要因素

  • 带宽
    目前带宽速度基本不缺,现在到处是百兆宽带 百兆光纤 千兆光纤
  • 延迟
    延迟是目前还可以优化的主要部分
  1. 浏览器阻塞,浏览器对于同一个域名同时请求个数是有限制,根据浏览器内核不同,限制请求个数是不一,但基本是个位数,超过请求个数就会阻塞,必须等前面的请求完成
  2. DNS查询,域名解析是比较费时的,但通常可以利用DNS缓存来减少域名解析时间,DNS查询顺序为:浏览器缓存-电脑hosts文件-本地DNS服务器-根域名服务器-顶级域名服务器
  3. 建立连接,http是基于tcp的,每次建立连接需要进行三次握手和四次挥手

http1.0对比http1.1

  • http1.1支持了长连接,在一个tcp连接上支持多个http请求,减少了建立和关闭连接所花费的时间
  • http1.1增加了更多的缓存策略,比E-Tag、If-None-Match,http1.0使用的是last-modified、If-Modified-Since
    在这里插入图片描述

http1.0和http1.1现存的问题

  1. 每一次传输数据都需要重新建立连接,延迟较多
  2. 传输均为明文,客户端和服务端均无法验证双方身份,存在一定的数据安全
  3. 请求的header部分内容较大,增加传输成本,且很多时候header部分是不变的
  4. 虽然http1.1有长连接的功能,但长连接使用过多也给服务端带来了更大的性能压力,特别是对于一些图片类视频类等资源型的服务器,如果长期保持长连接他是没必要的,但给服务器是大的性能浪费

为了解决安全性问题

为了解决安全性问题就出现了https,https是http协议和ssl协议的组合使用
在这里插入图片描述

http2.0的出现

新特性

  • 采用新的二进制格式,http1.1的格式是基于文本的,基于的文本的解析考虑场景是较为复杂的,因为文本表现是多样的。而http2.0采用的是二进制,只有0和1,解析较为方便
  • 多路复用,即可以共享连接,不需要重复多次建立连接,多个请求可共用一个tcp连接
  • header压缩和缓存
  • 服务端推送,支持服务器主动向客户端推送消息
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值