页面并发请求的链接复用及三次握手时间分析

问题来源于之前项目中的列表查询,在分页查询程中存在图片下载失败问题。问题原因在于单个图片较大,翻页过程中上一个列表的图片没有加载完,新的列表图片请求又发起,导致页面中累计了成百上千的图片下载请求。当时在考虑这问题时候,分析是不是http请求没有复用connection导致了多个http请求加载超时。最后了解到是单个图片下载时间过长,累计的图片下载数量过多问题,可从减少图片下载请求时间和限制图片下载数量方面优化。下面分析下页面中多个TCP请求的链接复用,节省链接初始化时间问题。

1、并发http请求问题

在日常开发中经常会遇到在一个页面发起多个http请求的情况,为什么不用一个请求一次获取所有资源,而是要分多次请求单个获取资源。已图片下载为例,如页面请求300张图片,单张获取资源,需要至少发起300次http请求,根据常识可知一次http请求需要三次握手+ssl验证时间,300次请求明显会增加重复的三次握手+ssl时间,这样的页面响应时间不是应该会浪费很多时间吗!假设三次握手时间500ms+ssl时间500ms,300次请求至少需要300s,也就是说页面完全加载完成需要300s以上的时间。实际上页面加载完成真的需要300s吗?根据常识可知肯定不用300s的,那么是如何解决这种重复的握手和ssl验证时间的呢?正常人会猜测肯定不需要要重复建立连接和重复验证,是不是浏览器的缓存机制。

2、connection复用分析

我们这里以https://http2.akamai.com/demo 网站的地球图片加载为例分析链接复用情况。先介绍下这个网站的左右两幅

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值