性能优化
性能优化汇总
1、缓存(缓解服务器压力,提升性能本地更快,)
缓存
我们第一次进入页面,请求服务器,然后服务器进行应答,浏览器会根据response Header来判断是否对资源进行缓存,如果响应头中expires、pragma或者cache-control字段,代表这是强缓存,浏览器就会把资源缓存在memory cache 或 disk cache中。
第二次请求时,浏览器判断请求参数,如果符合强缓存条件就直接返回状态码200,从本地缓存中拿数据。否则把响应参数存在request header请求头中,看是否符合协商缓存,符合则返回状态码304,不符合则服务器会返回全新资源。
流程
缓存
1、浏览器会根据 http response header 中的 Expires 和cahe-control 字段判断是否命中强缓存,如若命中,则直接从缓存中取资源,不会再去向服务器请求了。
2、否则,浏览器会发出一个条件请求,浏览器会在请求头中包含 If-Modified-Since 或 If-None-Match 字段,If-Modified-Since 即浏览器当初得到的 Last-Modified;If-None-Match即浏览器当初得到的 ETag。当服务器发现资源的更新时间晚于 If-Modified-Since 所提供的时间,或者资源在服务器端当前的 ETag 和 If-None-Match 提供的不符时,说明该资源需要向服务器重新请求了。
否则,浏览器将不需要重新下载整个资源,只需要从缓存中去加载这个资源,这时响应的http code 为 304(304 Not Modified)。
强缓存
控制资源缓存的时间,在有效期内不会去向服务器请求了
Expi