1、资源压缩合并,减少HTTP请求
2、非核心代码异步加载
(1)异步加载的方式
- 动态脚本加载(document创建一个script标签加在body或者head上)
- defer
- async
(2)异步加载的区别
- defer是在HTML解析完之后才会执行,如果是多个,按照加载的顺序依次执行
- async是加载完之后立即执行,如果是多个,执行顺序和加载顺序无关
3、利用浏览器缓存-->缓存的分类-->缓存的原理
(1)强缓存
- Expires Expires:Thu,21 Jan 2018 23:23:23 GMT
- Cache-Control Cache-Control:max-age=3600
(2)协商缓存
- Last-Modified If-Modified-Since Last-Modified:Wed,26 Jan 2018 23:23:23 GMT
- Etag If-None-Match
4、使用CDN
5、预解析DNS
<meta http-equiv="x-dns-prefetch-control" content="on"> // 强制打开a标签的dns预解析
<link rel="dns-prefetch" href="//host_name_to_prefetch.com"> // dns预解析,http的一些a标签默认打开,https的不一定