即使元标记设置为无缓存、无存储、必须重新验证并且设置过期和杂注,Firefox 也会存储缓存

问题描述 投票:0回答:1

Firefox 要求不存储任何缓存。对我来说这似乎是一项简单的任务,直到我发现它几乎不可能完成。

我首先尝试使用 HTML,但没有成功:

<!-- Cache control -->
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

然后用PHP尝试,仍然不行:

<?php
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.    
?>

有趣的部分是,这次它显示了正确的响应标头(HTML 情况下则不然)。

但是,当我使用 Firefox 菜单中的

File > Work Offline
的离线工作模式时,缓存的页面会显示出来。

我已经用

CTRL + f5
尝试过了。仅当我们从 Firefox 设置中手动清除缓存时,它才有效。但我们不能要求用户在每次页面刷新后清除缓存。

mozilla 上有一个链接说“是的,出于上面列举的原因,我们甚至在缓存中存储“无缓存”文档。

Mozilla 链接

尝试了 mozilla 缓存的帮助指导,但没有任何进一步的运气。

Mozilla 缓存帮助指南

帮助我解决这个问题。 Firefox 不会让我阻止缓存存储。看来 Firefox 是一个很重的浏览器,每一步和文档都需要缓存才能正常工作。

提前致谢。

php firefox caching firefox-os firefox-developer-tools
1个回答
0
投票

类似的问题,但

http-服务器网站/ http-server website/ -c #for dev 当我们不需要缓存时

显然它会检查服务器版本是否是冷的,服务器会回答是。

清除缓存然后放入

并运行这个协议,修复了我的问题

所以我认为这与你的 php 代码无关,而是与它周围的 http 相关

© www.soinside.com 2019 - 2024. All rights reserved.