即使元标记设置为no-cache,no-store,must-revalidate和设置expires和pragma,Firefox也会存储缓存

时间:2016-03-07 11:07:34

标签: php firefox caching firefox-os firefox-developer-tools

不需要为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的情况)。

Proper Response headers

但是,当我在firefox菜单中使用来自File > Work Offline的离线工作模式时,缓存的页面出现了。

我已尝试使用CTRL + f5。它仅在我们从firefox设置手动清除缓存时才有效。但是我们不能要求用户在每次刷新页面后清除缓存。

mozilla上有一个链接说“是的,我们甚至会在我们的缓存中存储”no-cache“文档,原因如上所列。

Mozilla Link

在没有任何进一步运气的情况下,从mozilla缓存帮助指南中尝试了一些事情。

Mozilla help guide on caching

帮助我这些家伙。 Firefox不会让我阻止缓存存储。似乎firefox是如此繁重的浏览器,他们需要在每一步都进行缓存并且文档才能正常工作。

先谢谢。

0 个答案:

没有答案