【加载静态资源很慢】解决浏览器加载静态资源阻塞

开门见山讲方法:

增加浏览器的最大并发连接数, 避免静态资源的加载请求排队而被其他请求阻塞。

仅测试火狐浏览器可用, Chrome据我所知不支持此项配置, IE浏览器需要通过修改组策略, 未测试。

正文:

存在问题

今天调试网页时, 网页加载缓慢, 一方面主要是后端代码和网络等问题, 导致静态资源解析和响应速度慢,
另一方面在调试的时候发现一个情况: 就是很多的静态资源请求都被阻塞。前面的请求没有完成, 后面的请求就不会发起。而静态资源的请求是没必要等待其他请求完成后发起的。

于是我百度了原因, 并在浏览器层面找到一个临时的解决办法, 即增加浏览器的连接数, 不过仅限于调试用。

请求被阻塞

原因分析

据了解: 浏览器的并发连接数受到限制, 并不是无限发起异步请求的。 每款浏览器都有自己的默认并发连接数,而且浏览器默认对同一域下的资源,只保持一定的连接数,会阻塞过多的连接,这都会影响到浏览器对网页的加载速度。查考文章:https://www.jianshu.com/p/dc583d5424e3

版本HTTP 1.0 服务器(宽带连接)HTTP 1.1 服务器(宽带连接)HTTP 1.0 服务器(拨号连接)HTTP 1.1 服务器(拨号连接)
Internet Explorer 7 和早期版本4242
Internet Explorer 86642
Internet Explorer 91010??
Internet Explorer 1066??
Internet Explorer 1166??
chrome、firefox66??

解决方法

所以我们调大这个连接数, 就可以减少静态资源被阻塞的情况。

火狐浏览器的修改方式: 浏览器地址栏输入about:config

搜索connections, 修改以下两项配置:

# 每个服务器的最大连接数
network.http.max-persistent-connections-per-server
# 每个代理的最大连接数
network.http.max-persistent-connections-per-proxy

火狐配置

具体调整的连接数和速度提升情况, 就要视你的具体环境而定了。浏览器限制连接数也是有原因的, 连接数并不是越大越好。在请求阻塞时间很短时, 增大并发连接数会增加每个请求域名解析的时间, 会增大后端服务器的压力, 而且后端服务器一般会限制来自同一用户的过多请求。

使用场景

我的场景是, 项目前后端没有分离, 静态资源响应缓慢, 一个js文件请求需要2-3秒。而后面加载的js文件还会被前面的请求阻塞2-3秒, 所以临时采用了这样的处理方式, 提高访问速度。这种方式也只是测试开发阶段的无奈之举, 毕竟你不能让所有用户都修改配置, 也不能增加服务器压力而不顾, 根本的解决方式还是要处理静态资源响应慢的问题。

参考文章: https://blog.csdn.net/jueshengtianya/article/details/38271081

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code tea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值