• 前端性能优化


    前言

    前段性能优化:

    1.文件获取优化

         - 加载 文件css,js

         - http 协议的细节

        - 从输入url到页面渲染完毕,发生了什么

    2.代码执行优化

         - 节流 防抖

         - 重绘  回流

        - vue react(ssr)  常见优化 代码执行的更少

       - 浏览器如何渲染页面

    从输入url到页面渲染完毕,发生了什么

    DNS

         1. 查看Dns 缓存

          2.本地没缓存,发起DNS请求,象本地配置的DNS服务器请求(递归)

    少加载文件

       1.合理利用浏览器文件缓存

       列子:

        1.首次加载  http请求 ,server正常返回

             1.返回响应头加上强缓存的说明(真是事实)

             2.expires:wed 11 2049 10:20:00 (过期实践)

             3.cache-control : max-age = 300000 ()

              4.2个header 都是后端告诉浏览器,这个文件,多少时间内, 不过期(比如一个小时)

              5.浏览器接收到上面的两个header 就会文件保存起来

       2.一个小时内在请求这个文件:

           1.浏览器识别 强缓存, 请求不发出,直接用本地的缓存文件 状态码 200 from cache

       3.2个小时后,在请求这个文件,强缓存失效,使用协商缓存

           1.浏览器不会直接发出请求,而是问一下后端,header 带上请求头

                 1.if-modified-since:日期 后端 这个文件没有修改过

                 2.后端告诉你 没该改过,请使用缓存  相应是304 not modified

                 3. 浏览器直接用缓存

                 4.优先级更高的,是etag  文件指纹 内容不变,指纹不变

         4.如果后端告诉你 ,改过了 ,那只能从先加载了

    文件缓存 虽然js 控制不到,浏览器控制,可以通过工程化来利用缓存

    高效利用缓存:

      

    少执行代码

    那么从网络协议的方面来看:

    http2 缓存

     

     图片优化

    性能监控 

  • 相关阅读:
    学习进度笔记4
    学习进度笔记3
    学习进度笔记2
    学习进度笔记1
    《梦断代码》提及文献
    《梦断代码》阅读笔记6
    《梦断代码》阅读笔记5
    需求征集系统开发进度5
    《梦断代码》阅读笔记4
    spark filter
  • 原文地址:https://www.cnblogs.com/yf-html/p/12051956.html
Copyright © 2020-2023  润新知