web浏览器缓存应用


图1

1、强缓存

http1.0 Expires  返回服务器时间,客户端本地时间比较,当expires时间比当前时间晚,说明缓存未过期,即命中缓存

缺点:服务器时间与客户端时间有偏差,造成缓存混乱

http1.1 Cache-Control:max-age判断,单位秒 max-age=3600(缓存1小时),Cache-Control 描述的是相对时间,采用本地时间计算缓存有效期,更佳

2、协商缓存

[Last-modified, If-Modified-Since]

服务端-->Last-Modified-->请求的If-Modified-Since-->服务端比较

[ETag,If-None-Match]

周期重写资源从而改变了Modified时间,但内容未改变,所以要结合该属性判断

Modified不足之处:

1、存在周期性的重写某些资源,但内容未改变

2、修改的信息并不重要,如注释啥的

3、Last-Modified GMT无法精确到毫秒 ,但有写资源更新频率小于1秒



图 2


注意:

1、分布式系统多台服务器文件的last-modified必须保持一致,以免负载均衡到不同服务器导致对比结果不一致

2、分布式系统尽量关闭掉ETag,每台机器生成ETag都会不一样,如淘宝页面中的静态资源response headers中没有ETag

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容