提升页面性能的方法有哪些?
1.资源压缩合并,减少HTTP请求
2.非核心代码异步加载
异步加载的方式?
1.动态脚本加载
2.defer 直接在script标签的上加
3.async
异步加载的区别
1.defer是在HTML解析完之后才会去执行,如果是多个,按照加载的顺序依次执行
2.async是在加载完之后立即执行,如果是多个,执行顺序和加载顺序无关
3.利用浏览器缓存
缓存的分类
1.强缓存 不问服务器,直接使用缓存 (在这段时间之前都不会去访问服务器)
Expires Expires: THU,21 Jan 2017 23:39:02 GMT 客户端当前时间
Cache-Control: Cache-Control:max-age=3600 客户端间隔时间(两者都有时,以后者为准)
2.协商缓存 问问服务器,要不要用缓存
Last-Modified If-Last-Modified Last-Modified:Wed,26 Jan 2017 00:35:11 GMT
(上次修改的时间,当强缓存失效,返回上次给的时间)
Etag If-None-Match (服务器发给客户端,资源是否被修改)
4.使用CDN
5.预解析DNS
<meta http-equiv=‘x-dns-prefetch-control’ content=‘on’> https预解析时关闭的