浏览器并发请求及解决方案

一、规则
前提是同一域名情况下:

  1. 同一get请求的并发数是1,即只有上一个请求结束,才会执行下一次请求,否则即在队列中等待请求
  2. 不同的get/post的请求的并发数量是6个,当达到6个时,其余的在队里中等待请求
    二、原因
  3. 操作系统的端口有限,每个请求链接都会占用一个端口,操作系统通常会对总端口的一半对外开发请求,以防数量不呗迅速消耗殆尽
  4. 过多请求导致频繁切换产生性能问题,一个行程对应一个http请求,且线程的切换需要性能消耗。所以请求控制器会产生一个链接池,以复用之前的链接(http1.1及之后版本,即长链接),所以这个池子的数量是有限的,如果池子内全被使用,则会堵塞后续的请求任务,等待空闲链接时才会执行后续的请求任务。
  5. 避免同一客户端请求同一接口,导致服务器压力增大(并发)。
    三、http/https1.0、1.1版本下的并发数
  6. Chrome、Firefox为6个
  7. Safari:4个
  8. IE10、11:6个
  9. IE9:10个
  10. IE6:6个
  11. <=IE7、Opera:4个
  12. 对于websocket的并发数,除IE的为6个外,其余的基本上都是几百个256或者200,但Safari的为1273个
    四、解决方案
  13. 将请求资源分布到不同的域名下
  14. 利用http缓存,对资源进行缓存处理
  15. 减少资源请求,如:Vue使用动态路由,按需倒入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值