【问题标题】:Clear limited files from browser cache从浏览器缓存中清除有限的文件
【发布时间】:2015-07-07 15:27:00
【问题描述】:

是否可以在必要时通过 PHP 代码刷新浏览器缓存数据? 我有一个相当复杂的 Web 应用程序,我正在使用浏览器缓存来加快页面的加载时间/性能。

如何在保留浏览器缓存的优势的同时,让浏览器在必要时刷新文件? 有两组文件——有些是不需要更改的库文件,有些是本地的,不经常更改。我只需要有条件地清除本地文件的浏览器缓存。 这可能吗?

我有这个代码:

header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

这会清除整个缓存;朝这个方向的任何指示都会有所帮助。

【问题讨论】:

    标签: php browser-cache


    【解决方案1】:

    试试这个,

    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
    header("Cache-Control: private, no-store, no-cache, must-revalidate"); 
    ini_set('session.cache_limiter', 'private');
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache"); 
    

    【讨论】:

    • 请您解释一下“私有”cache_limiter 将如何提供帮助?
    • 缓存限制器定义了哪些缓存控制 HTTP 标头被发送到客户端。这些标头确定客户端和中间代理可以缓存页面内容的规则。将缓存限制器设置为 nocache 会禁止任何客户端/代理缓存。 public 值允许代理和客户端缓存,而 private 不允许代理缓存并允许客户端缓存内容。
    • 好的,太好了。谢谢!看起来这将是我正在寻找的东西。
    猜你喜欢
    • 1970-01-01
    • 2021-01-25
    • 2016-10-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    相关资源
    最近更新 更多