分享人:禚洪宇
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
浏览器缓存(browser caching)是浏览器储存的用户最近请求过的文档
优点:
直接从缓存中获取资源而不经过服务器;与强制缓存有关的header有两个
它的值是GMT格式的绝对时间,如果发送请求的时间在expires设置的时间之前,那么缓存有效,否则就会发送请求至服务器来获取资源。
该字段主要是利用max-age值来进行判断,max-age是一个相对值,设置一个有效期。
Cache-Control利用客户端时间进行判断,相对于Expires更安全
cache-control字段的其它值:
Tip:cache-control的优先级高于Expires
协商缓存是由服务器来判断缓存资源是否可用
1. Etag/If-None-Match
Etag:(Entity Tag的缩写)可以是唯一标识资源的任何东西,配合cache-control使用
2. Last-Modified/If-Modified-Since
二者的值都是GMT格式的时间字符串,具体过程:
总结:
Last-Modified与Etag有什么区别?
如何对缓存进行性能优化?
https://www.zhihu.com/question/20790576
参考一: http协商缓存VS强缓存
参考二: 浏览器的协商缓存与强缓存
参考三: 知乎
参考四: 浏览器缓存知识小结及应用
BY :禚洪宇