• 0
  • 0
分享
  • 浅谈打开网页速度慢的原因和解决方法——软件测试圈
  • TIMI 2022-08-16 16:07:46 字数 1053 阅读 3140 收藏 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、什么是批判性思维  批判性思维是以一种相信什么或做什么决定而进行的,合理的(反思的)方式进行思考,从而能够清晰准确地表达、逻辑严谨地推理、合理地论证,是一种训练有素的思维方式的体现。批判性思维是一种技能和思想态度,不受学科或专业的性质影响,任何论题都可从批判性思维的视角来审视。  最早的苏格拉底问答法,是被公认为批判性思维的先祖。苏格拉底问答法,是通过无止境的设问、追问或反问,让被提问者通过理性思考、发现谬误、拓宽思路、获得真相,或是提出反例,引入新的认知,找到新的解决方案,这就是批判性思维的体现。思维结构提问法更是把批判性思维体现得更加的系统化,它由八种元素构成:目的、观点、假设、结...
            0 0 1115
            分享
          • TDD 是什么 ?TDD 是来自极限编程,百度百科的解释如下:TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前, 先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他 开发方法和过程。这个解释是比较片面的,其实TDD 包含两大部分:ATDD 和 UTDDATDDAcceptance Test Driven Development,验收驱动开发。比如,QA(质量保障...
            0 0 1444
            分享
          • 沐沐在以往的测试过程中发现,测试团队成员的测试颗粒度不均衡,导致测试完的产品质量参差不齐。因此梳理了一些Web端的通用测试用例,可以导入到缺陷管理系统(例如禅道),在测试过程中,执行这些通用的测试用例,使得非业务层面的一些测试点可以均衡覆盖。当然以下总结的测试点不一定适用于所有的Web端系统,仅做参考。一、新增功能新增表单,文本框字符长度是否限制新增表单,数字文本框是否限制字符格式新增表单,身份证号码是否做强校验新增表单,手机号是否限制格式、位数新增表单,选择文本框是否限制输入字符新增表单,必填字段是否限制输入空格保存新增表单,必填字段仅输入特殊字符null保存是否校验新增表单,xss注入是否...
            2 1 3415
            分享
          • 第一部分:先准备好Jmeter1.在开始编写脚本之前,先要确保你的Jmeter能够正常运行。若你还没有安装Jmeter,可参考以下方法:Jmeter需要java运行环境,所以需要下载JDK,JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html(最好使用 JDK 8  以上的版本,上述链接下可以下载最新的 JDK 版本)安装JDK,请参考百度教程:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html(注意java环境...
            14 14 3439
            分享
          • 在我们日常工作中,处理重复、冗长、庞大的文本需求是在所难免的,比如电商运营上架 2000 个商品的标题、商品描述、规格、分类;HR 需要整理并标注 500 份简历信息构建数据库;营销人员撰写 30 篇不同风格媒体平台的软文;翻译人员要把 10 篇稿件翻译成 15 种语言等。面对此类工作的耗时久、效率低、重复劳动常常令我们筋疲力竭。试想一下,写 10 篇 SEO 文章,需要多久?3 小时?5 小时?那么 100 篇呢?如果 5 分钟简单操作,就可以结束这些噩梦呢?让我们先来点击观看一段视频Dify 批量文本生成功能,将在此类工作中给你带来数十倍的效率提升。Step1:根据需求创建 [ 文本生成应...
            0 0 971
            分享
      • 51testing软件测试圈微信