过期和缓存控制头之间的区别是什么?
当前回答
如果你仍然感兴趣,我直接从谷歌的男孩们那里留下这个建议。 https://developers.google.com/speed/docs/insights/LeverageBrowserCaching 他们更喜欢“过期前”而不是“缓存控制”
其他回答
除了CC的private/public选项,我看不出有什么区别。当使用过期,如“访问加1年/月/周/天”,它的工作方式与CC完全相同。
如果你仍然感兴趣,我直接从谷歌的男孩们那里留下这个建议。 https://developers.google.com/speed/docs/insights/LeverageBrowserCaching 他们更喜欢“过期前”而不是“缓存控制”
cache - control是在HTTP/1.1中定义的,它告诉从服务器到客户端的所有缓存机制是否可以缓存这个对象。Cache-Control: max-age=3600。
Expires报头字段给出了响应过期的日期/时间。Expires值是一个HTTP-date时间戳:Expires: Tue, 18 july 2017 16:07:23 GMT。
如果一个响应包含一个带有max-age指令的Cache-Control字段,收件人必须忽略Expires字段。
根据谷歌开发人员的文章,HTTP缓存:
Cache-Control头被定义为HTTP/1.1规范的一部分 并取代以前用于定义响应的报头(例如Expires) 缓存策略。因此,所有现代浏览器都支持Cache-Control 这就是我们所需要的。
Heroku devcenter有一篇关于这个主题的优秀文章。
引用其中的话,
当Cache-Control头打开客户端缓存并设置资源的max-age时,Expires头用于指定资源不再有效的特定时间点。
推荐文章
- 什么是HTTP“主机”报头?
- 自定义HttpClient请求头
- 过期和缓存控制头之间的区别是什么?
- REST DELETE真的是幂等的吗?
- 用户代理字符串可以有多大?
- 什么是接受* HTTP报头q=0.5 ?
- HTTP状态码200(缓存)和状态码304之间有什么区别?
- 缓存控制的无缓存和必须重新验证之间的区别?
- 在PHP中为用户创建一个CSV文件
- Nginx中$host和$http_host的区别是什么
- 什么是http头“X-XSS-Protection”?
- 使用curl在PHP中获取HTTP代码
- 为跨源请求设置cookie
- 什么是“升级-不安全-请求”HTTP报头?
- 向Angular HttpClient添加一个HTTP头并不会发送这个头,为什么?