4-3 页面性能

  • 提升页面性能的方法有哪些?

    1. 资源压缩合并,减少 HTTP 请求

    2. 非核心代码异步加载

      • 异步加载的方式
        1. 动态脚本的加载(通过document.create一个script标签,然后再添加到body中去)
        2. defer
        3. async
      • 异步加载的区别
        1. defer 是在html文档加载完毕后执行,如果是多个js,则按照加载的顺序依次执行
        2. async 是在加载完成后立即执行,如果是多个js,加载和执行的顺序不是依次进行
    3. 利用浏览器缓存(最重要)

      • 缓存的分类
        1. 强缓存 问都不问服务器,直接拿过来就用了,强制缓存
          • Expires (http响应头上): Expires:Tue, 12 Jun 2018 08:30:15 GMT 这是一个绝对时间
          • Cache-Control: Cache-Control:max-age=31536000 这是一个相对时间,在这个时间内我不会再向服务器去请求资源,都会在浏览器直接拿缓存
          • 总之就是在这个时间之前,我不会和服务器通信了,直接从副本中拿出来给页面用
          • 如果这两个时间都下发了以后者为准
        2. 协商缓存 浏览器发现本地有这个副本,但我又不确定用不用它,那怎么办啊,我得向服务器问一下它,这个文件要不要用
          • Last-Modified if Modified Sence : Last-Modified Wed, 25 Nov 2015 07:48:07 GMT 上次修改的时间
          • ETag If-None-Match: ETag:"AFxUj3Ewv5-31T_T8ldpjkSkJy8D" 哈希值 当过了强缓存的时间,浏览器再向服务器请求问它这个资源我可不可以再用,就需要 If-None-Match了
      • 缓存的原理
    4. 使用CDN

    5. 预解析DNS

      <meta http-equiv="x-dns-prefetch-control" content="on" />
      <link rel="dns-prefetch" href="http://bdimg.share.baidu.com" />
      

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 互联网有一项著名的8秒原则。用户在访问Web网页时,如果时间超过8秒就会感到不耐烦,如果加载需要太长时间,他们就会...
    紫痕蓝羽阅读 1,616评论 0 0
  • 浏览器对于请求资源, 流程如图所示: 可以看到浏览器的缓存机制分为两个部分: 1、当前缓存是否过期? 2、服务器中...
    zhoulujun阅读 4,973评论 0 3
  • 2018.7.25 周三 晴 今天一大早和儿子敲定下这两天学习快易作文的方式:上午三节课,下午再...
    金生源阅读 1,301评论 0 1
  • 工作很忙,生活很累 希望有时间停下来歇一歇 春天来了,闻一闻花香,听一听鸟语 生活中难免有一些琐事看似不起眼, 却...
    大白兔真的喜欢萝卜嘛阅读 1,238评论 2 1
  • 连续同步执行的危险 一旦遇到这样的问题,这里还有更多内容,然后发现了 一个适当恶劣的解决方法。这篇文章没有列在索引...
    天天向上卡索阅读 3,064评论 0 1

友情链接更多精彩内容