您的位置:首页 > Web前端

前端浏览器缓存的一些机制和提高性能的方案

2016-08-31 12:08 483 查看
在解决这个问题之前,我们有必要了解一番前端浏览器缓存的一些机制和提高性能的方案。
GZip压缩文件可以减少响应的大小,能够达到节省带宽的目的。
浏览器缓存中存有文件副本的时候,不能确定有效的时候,会生成一个条件get请求。
在请求的头中会包含 If-Modified-Since。
如果服务器端文件在这个时间后发生过修改,则发送整个文件给前端。
如果没有修改,则返回304状态码。并不发送整个文件给前端。
另外一种判断机制是ETag。在此并不讨论。

如果副本有效,这个get请求都会省掉。判断有效的最主要的方法是服务端响应的时候带上Expires的头。
浏览器会判断Expires头,直到制定的日期过期,才会发起新的请求。
另一个可以达到相同目的的方法是返回Cache-Control: max-age=xxxx。

欲了解更多缓存机制,请参见Steve Sounders著作的《高性能网站建设指南》。

浏览器在发送请求之前由于检测到Cache-Control和Expires(Cache-Control的优先级高于Expires,但有的浏览器不支持Cache-Control,这时采用Expires),如果没有过期,则不会发送请求,而直接从缓存中读取文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  前端