99m*_*les 4 caching http-caching
有人可以澄清这个关于缓存的陈述.
https://developers.google.com/speed/docs/best-practices/caching说
它是多余的同时指定
Expires和Cache-Control: max-age,或同时指定Last-Modified和ETag.
然后它说
指纹识别机制允许服务器将
Expires标题设置为在请求日期之前一年; 将Last-Modified报头添加到文件的最后修改日期; 和Cache-Control: max-age标题3153600.
后一种说法与先前的说法相反 - 关于不设置Expires和Cache-Control.
第一个陈述是常态,第二个是异常吗?或者这个文档是否违背了自己的建议?有什么建议的?
谢谢.
Mil*_*lov 12
Http中的[Cache-Control:max-age]和[Expires]正在做同样的事情,这就是它们冗余的原因.但它们之间仍然存在一些很大的差异,[Cache-Control]是http/1.1标准,Expires是http/1.0.如果客户端浏览器不支持http/1.1 Cache-Control将被忽略,这就是为什么你可以同时使用它们的原因.
如果同时使用它们,[Cache-Control]具有优先权.您可以在此处找到更多信息:http: //www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3
出色地...
我可以告诉您,第一个语句是正确的,因为您确实不需要同时指定 [Expires]和[Max-Age] 标头,因为它们都执行相同的操作(设置缓存的最大周期)
[Last Modify] 和 [Etag] 也是如此,因为它们都涉及新鲜度。
我同意这似乎有些混乱,因为他们稍后给出的示例同时使用了 [Expires] 和 [Max-Age] 标头。
乍一看,这看起来像是某种文档错误。
不过,您需要记住,虽然您不必同时使用 [Expires] 和 [Max-Age],但您当然可以同时使用它们,只要它们指向相同的日期 - 就像在示例中一样提供。
总结一下:
第一个陈述谈论冗余(这不一定是“坏”的,并且可能“只是”浪费)。他们稍后给出的示例虽然没有优化,但不会引起任何问题。
只要您不使用两个标头设置不同的到期日期,就可以了。
| 归档时间: |
|
| 查看次数: |
5227 次 |
| 最近记录: |