包含缓存清单的文件自动包含自身

时间:2012-10-17 09:06:06

标签: html5 browser-cache

我有一个网页,提供了大量我希望缓存的图片。为此,我有一个PHP脚本,列出了我需要的图像的路径。最终文件如下:

CACHE MANIFEST

NETWORK:
*

CACHE:
uploads/categoriasactuaciones/1.png
uploads/categoriasactuaciones/10.png 
[...]
uploads/riesgos/5.png 
uploads/riesgos/6.png

问题是,<html>标记中包含清单的页面会自动缓存,登录逻辑位于此处。有没有办法禁用它?我在这里做错了吗?

1 个答案:

答案 0 :(得分:0)

您可以通过在查询页面的任何位置向查询字符串添加随机参数来欺骗浏览器,使其相信它始终是一个不同的页面。

例如:

<a href="page.html?r=<?= /* your random string here */ ?>">Link here</a>

这样浏览器就不会使用缓存页面,而是会发出新请求。

如果您不想缓存的页面是索引页面,则可能无效。但您可以使用PHP的header()等函数在响应头中设置Cache-Control参数(当然,这取决于您的编程语言):

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

此外,如果您使用的是框架,您也可以利用框架的缓存配置。

(资料来源:http://php.net/manual/en/function.header.php