• 0
  • 0
分享
  • 浅谈打开网页速度慢的原因和解决方法——软件测试圈
  • TIMI 2022-08-16 16:07:46 字数 1053 阅读 2738 收藏 0

1、原因一:http请求次数太多

解决:减少http请求次数

①图片地图:把多张图片整合到一张图片中,以位置定位超链接。

②CSSSprites合并图片,通过指定CSS的backgroud-image和backgroud-position来显示元素。

③合并JS脚本和CSS样式表。

④使用外部JS和CSS文件。

2、原因二:接收数据时间过长,如下载资源过大

解决:对HTTP传输进行压缩,即在js,css、图片等资源已经压缩的基础上,在HTTP传输过程中的再次压缩。客户端可以通过Accept-Encoding头来声明浏览器支持的压缩方式,服务端通过Content-Encoding来启用压缩,配置压缩的文件类型,压缩方式。gzip使用无损压缩,压缩效果最佳,已经成为使用最为普遍、支持的浏览器最多的数据压缩格式。

3、原因三:JavaScript脚本过大,阻塞了页面的加载

解决:将JavaScript脚本放在</body>标签前。script没有async和defer时,JS文件将在下载后立即执行。这种情况下,script放在顶部会阻塞页面呈现,在网速慢的情况下会导致“白屏”,直到脚本下载完毕才继续呈现页面。因此,script放在底部可以让页面尽快呈现。

4、原因四:CSS、JavaScript、图片等需要重复加载

解决:静态资源统一放在一个静态域名上,减轻重复下载静态资源的负担。

5、原因五:cookie影响

解决:减小cookie的影响

①去除没有必要的cookie,如果网页不需要cookie就完全禁掉。

②将cookie的大小减到最小:减小HTTP请求报文的大小,提高响应速度。

③设置合适的过期时间:cookie信息将存储到硬盘上,即使浏览器退出cookie还会存在,只要cookie未被清除且还在过期时间内,该cookie就会在访问对应域名时发送给服务器。

④通过使用不同的domain减少cookie的使用:cookie在访问对应域名下的资源时都会通过HTTP请求发送到服务器,但在访问一些资源,如js,css和图片时,大多数情况下cookie是多余的,可以使用不同的domain来存储这些静态资源,这样访问这些资源时就不会发送多余的cookie,从而提高响应速度。

6、原因六:网页资源过多

解决:使用CDN部署网络以提高下载速度,可以先通过免费的CDN供应商来分发网页资源。


作者:筱葭

原文链接:https://blog.csdn.net/zhouziyu2011/article/details/71453126

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1.新建一个HTTP请求,获取这个接口返回的电话号码。此接口的返回数据:右击这个HTTP请求,添加–后置处理器–正则表达式提取器引用名称:shop_phone 后面接口用到的变量名称正则表达式:<B>(\d{3}-\d{8})</B>提取一个电话号码模版 :11 模板是使用提取到的第几个值。因为可能有多个值匹配,所以要使用模板。从 1 开始匹配,依次类推。这里只有一个,所以填写 11 即可匹配数字:1,表示如何取值。0 代表随机取值,1 代表全部取值。这里只有一个,填 1 即可。2.新建一个HTTP请求:引用变量 ${shop_phone}3.查看结果树 的请求数据,变...
            10 10 6059
            分享
          • 1、开始测试1年半左右,一直在做的是游戏测试。现在对于黑盒的游戏测试感觉到迷茫,对于做游戏的黑盒测试来说,技术成长性在哪里?哪些知识能更好的帮助自己的工作?是这样的,测试入门的门槛相对其他技术工种来说不高,但可以提升空间是很大的。黑盒也好,白盒也好,其实所描绘的是测试立场和角度,最早国外上世纪提出的 是基于开发者了解内部结构去寻找问题(谓之白盒),黑盒是使用者的角度,不需要了解内部结构去验收(谓之黑盒),如果以测试策略来描绘的话,这个就是PDCA,P前面的target,这个阶段的测试目标是什么如你所言,接触服务端测试接触到了lr的基础(压力测试及负载测试),服务端相关测试还有对应的window...
            1 2 1765
            分享
          • 相信很多小伙伴想要自学性能测试,但网上的资料查阅出来的都比较干燥,对实际的性能测试经验并没有什么提升,本文从测试前的准备带你了解如何成为一名性能测试工程师。在开始性能测试前,我们需要跟项目组确认的几点内容:性能测试环境与生产环境服务器资源差异,并做差异分析,如测试环境的服务器资源与生产环境的服务器资源差距较大,需反馈给项目组,不然测出来的结果没有太大的参考意义;开始测试前,确认日志级别,日志级别需要与生产保持一致。如生产的日志是Info级别,则在测试环境的日志也应该是Info级别;确认数据库铺底数据(采用的方式为:让运维取生产上的每日成交量的数据库数据量),如数据库都是空表在测试查询交易的时候...
            0 0 1191
            分享
          •   前言  我们在执行自动化测试或者调试时,自动化测试用例数量过多,不清楚目前用例数执行了多少个了,还差多少个执行完成。  这时候就会猜想,如果执行过程中存在进度条,就很清楚的了解到测试用例的执行情况,今天小编通过下面两种方法简单介绍如何在自动化测试时加入进度条。  pytest-sugar  pytest-sugar是属于pytest的一个插件,想要对自动化测试用例加入进度条时,我们就可以通过该插件进行实现。  安装:pip install pytest-sugar  使用:安装完成后,正常运行程序即可。  小编通过实例进行展示下如何使用,首先编写几个简单的测试用例,方面运行程序:#&nbs...
            0 0 743
            分享
          • 大体上,我们可以从支付流程、退款流程、非功能测试点及支付测试的方法四个方向考虑。一、支付流程支付的测试流程:点击支付-->选择支付方式-->确认金额-->输入密码-->成功支付。需要针对支付流程中的每个阶段和步骤分别测试。1、支付:点击支付,然后取消订单,能否正常取消。2、选择支付方式:可以从正常和异常角度考虑。正常:可以支持的支付方式有:信用卡,储蓄卡,网银支付,余额,第三方支付(微信,支付宝,京东、百度、聚合支付、组合支付),找人代付,验证是否支持并且可以正常选择并支付;异常:支付时结合优惠券/折扣券/促销价抵扣进行相关的抵扣,验证规则正确,并且可以正常抵扣和支付。...
            3 3 14278
            分享
      • 51testing软件测试圈微信