【问题标题】:Expires directive - modification base VS Access baseExpires 指令 - 修改基础 VS 访问基础
【发布时间】:2012-09-27 16:31:47
【问题描述】:

据我所知:

ExpiresByType text/html "access plus 30 days"

将在存储内容 30 天后使浏览器缓存请求新鲜内容终止。

但是有:

ExpiresByType text/html "modification plus 30 days"

浏览器缓存将在 LAST MODIFIED HEADER 的帮助下知道在修改 30 天之前不要请求新内容。

所以我的问题是,为什么不一直使用修改库,因为它似乎更有意义,或者我缺少什么?

【问题讨论】:

    标签: apache .htaccess browser-cache mod-expires


    【解决方案1】:

    apache mod_expires docs 这么说:

    效果上的差异是微妙的。如果使用 M,则所有缓存中文档的所有当前副本都将同时过期,这对于始终在同一 URL 中找到的每周通知之类的东西很有用。如果使用A,则每个客户的到期日期不同;这对于不经常更改的图像文件很有用,特别是对于一组都引用相同图像的相关文档(即,图像将在相对较短的时间内重复访问)。

    其中M是修改加,A是访问加。因此,您希望如何缓存以在所有浏览器中工作似乎是一个问题。您是否希望您的资源的缓存同时在所有浏览器中过期?或者您是否希望您的资源的缓存到期在所有浏览器中交错?特别是,它归结为这里缓存的资源类型。

    如果我有一个页面,例如 /live_shows.html,它除了每周一次外永远不会改变,我只会在一周开始时更新它以列出我将在我的酒吧中进行的所有现场表演,那么我将要使用"modification plus 7 days"。因为它每 7 天更新一次,不多也不少。

    如果我有一个显示在/live_shows.html 页面上的图像目录,但它们很少被更改,因为它们就像图标、横幅和项目符号,我会一直使用它们。然后我打算将它们设为"access plus 30 days",因为如果有任何更改,获取这些更改的更新并不是那么重要。

    【讨论】:

    • 非常感谢乔恩。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多