题目:提升页面性能的方式有哪些?
1.资源压缩合并,减少HTTP请求;
2.非核心代码异步加载–异步加载的方式—异步加载的区别
3.利用浏览器缓存–缓存的分类–缓存的原理
4.使用CDN
5.预解析DNS
<meta http-equiv="x-dns-prefetch-control" content="on">
<link rel="dns-prefetch" href="//host_name_to_prefetch.com">
页面中的a标签在高级浏览器中默认打开dns预解释;
而https协议开头的话浏览器会默认关闭dns预解释;
异步加载
1.异步加载的方式:
- 动态脚本加载;
- defer;
- async;
2.异步加载的区别:
- defer是在HTML解释完之后才会执行,如果是多个,按照加载的顺序依次执行;
- async是在加载完之后立即执行,如果是多个,执行顺序和加载顺序无关;
浏览器缓存
1.缓存分类
- 强缓存(强制缓存):用户发送的请求,直接从客户端缓存中获取,不发送请求到服务器,不与服务器发生交互行为。
- expires
- Cache-Control
协商缓存:用户发送的请求,发送到服务器后,由服务器判定是否从缓存中获取资源。先想服务器询问是否需要使用
- Last-Modified If-Modified-Since
- Etag If-None-Match
缓存中HTTP头会出现的关于缓存的参数?