页面性能优化

javaScript

轻功不代表武功,但速度决定了你我的距离。

1)、资源压缩合并,减少HTTP请求
  • 开启压缩
    gzip(GNU zip):Content-Encoding:gzip
    compress(UNIX 系统的标准压缩)
    deflate(zlib)
    identity(不进行编码)
  • 开启持久连接(Connection: keep-alive)
  • 开启流式传输(Transfer-Encoding)
  • 适当的域名扩散,增加浏览器并发。
2)、非核心代码异步加载
  • 异步加载的方式
    动态脚本加载、defer、async
  • 异步加载的区别
    ① defer是在HTML解析完之后才会执行,如果是多个,按照加载的顺序依次执行。
    ② async是在加载完成后立即执行,如果是多个,执行顺序和加载顺序无关。
3)、利用浏览器缓存 -> 缓存的分类 -> 缓存的原理

查看文章

4)、使用CDN

CDN主要功能是在不同的地点缓存内容,通过负载均衡技术,将用户的请求定向到最合适的缓存服务器上去获取内容,比如说,是北京的用户,我们让他访问北京的节点,深圳的用户,我们让他访问深圳的节点。通过就近访问,加速用户对网站的访问。解决Internet网络拥堵状况,提高用户访问网络的响应速度。

完整的CDN工作流程:

5)、预解析DNS
// 强制打开a标签DNS预解析,因为https协议的页面标签默认是关闭的 <meta http-equiv="x-dns-prefetch-control" content="on"> <link rel="dns-prefetch" href="//host_name_to_prefetch.com">

推荐文章