Man*_*han 3 apache .htaccess mod-expires browser-cache
据我所知:
ExpiresByType text/html "access plus 30 days"
Run Code Online (Sandbox Code Playgroud)
在存储内容模具30天后,将使浏览器缓存请求新鲜内容.
但是:
ExpiresByType text/html "modification plus 30 days"
Run Code Online (Sandbox Code Playgroud)
浏览器缓存将在LAST MODIFIED HEADER的帮助下知道在修改30天之前不要求新鲜内容.
所以我的问题是,为什么不一直使用修改基础,因为它似乎更有意义,或者是否有我遗漏的东西?
该阿帕奇指定mod_expires文档这样说:
效果的差异是微妙的.如果使用M,则所有高速缓存中文档的所有当前副本将同时到期,这对于始终在同一URL处发现的每周通知的内容可能是有益的.如果使用A,则每个客户的到期日期不同; 这对于不经常改变的图像文件是有益的,特别是对于所有引用相同图像的一组相关文档(即,将在相对短的时间内重复访问图像).
其中M是修改加,A是访问加.因此,看起来这是一个关于如何缓存以在所有浏览器中工作的问题.您是否希望您的资源同时在所有浏览器中使其缓存过期?或者您是否希望您的资源在所有浏览器中交错使用缓存?特别是,它归结为此处缓存的资源类型.
如果我有一个页面例如,/live_shows.html除了每周一次之外不会改变,我只在本周开始更新它以列出我在酒吧里的所有现场表演,然后我会去想要使用"modification plus 7 days".因为它会每7天更新一次,不会更新,也不会更新.
如果我有一个显示在/live_shows.html页面上的图像目录,但很少会因为它们像图标,横幅和项目符号而被更改,我会一直使用它们.然后我想要制作它们,"access plus 30 days"因为如果有任何变化,获取这些更改的更新并不是那么重要.