一、如何来优化性能
1、从浏览器的缓存策略
(1)强缓存:
control-cache:
public:响应可以被客户端和代理服务器端缓存。
private:…只可以被客户端缓存
max-age=30:缓存30秒过期,许哟啊重新请求。
s-maxage=30:覆盖max-age,作用一样,只在代理服务器上有效
no-stroe:不缓存任何响应
no-cache:资源被缓存,但立即失效,下次会发起请求验证资源是否过期。
max-stale=30:30秒内,即使缓存过期也使用该缓存。
min-fresh=30:希望在30秒内获取最新的响应。
expires:缓存过期时间,用来指定资源的到期时间。*(服务器和浏览器时间作比较,存在时差改变的缺陷)
强缓存的两个状态:
from memony cache:从内存中取资源,如果网页关闭后会重新加载请求。(浏览器j设置了缓存,浏览器会把js文件(动态资源)默认放到memonycache中)
from disk cache:不访问服务器,已经在之前的某个时间点加载过该资源,直接从硬盘上读取缓存。(…css(静态资源)…)
(2)协商缓存:
如果缓存生效 HTTP状态码为304
如果缓存不生效 HTTP状态码为200,走正常从服务器端获取资源。
二、精炼js代码
1、算法
时间复杂度
空间复杂度
三、静态资源加载
cdn:文件资源服务器,也就是缓存资源服务器,一般由第三方提供,开发中常把图片放到上面去。
四、减少HTTP请求