- 服务端开启Gzip
- 启用Gzip需要客户端和服务端同时支持
content-encoding: gzip
- DNS预解析
是否有主机系统缓存--->是否有dns客户端应用缓存--->dns服务器查询
< meta http-equiv="x-dns-prefetch-control" content="on">
< link rel="dns-prefetch" href="//www.zhix.net">
< link rel="dns-prefetch" href="//api.share.zhix.net">
< link rel="dns-prefetch" href="//bdimg.share.zhix.net">
cdn缩短物理路径加速
原理: 负载均衡、缓存同步、最短路径代码/资源的解析压缩
减少css和js对dom解析的阻塞
- js <script />:
aync: 与dom异步加载解析, 执行会阻塞
defer: js延迟加载,在domContentLoad之前执行 - 不加载未应用的css,减少css层级、减少耦合性
- 防抖截流等方式减少代码执行
- 预加载和懒加载
- 动画 css3加速、js用requestAnimationFrame执行动画
- 缓存机制
- 减少回流操作:减少getComputedStyle、clientXX、offsetXX、getBoundingClientRect等API的使用
- 框架和算法和优化