0

当我不希望客户端缓存结果时,我总是发送一堆标头。我最近读到它们并不总是适用于所有浏览器,并且附加随机数(或日期时间等)是唯一可靠的方法。PHP 标头真的会阻止客户端缓存吗?我应该在 URL 中附加一个变化的值吗?

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: no-store, no-cache, must-revalidate');
header("Pragma: no-cache" );
header('Cache-Control: post-check=0, pre-check=0', FALSE);
4

1 回答 1

0

这不是您问题的答案,但可能会有所帮助!

仔细检查您正在解决的问题是否可以重写,这样不仅缓存不会成为问题,而且还可以帮助您的程序运行得更快。

例如。假设我们有 mypics.php,用户可以在 3 张不同的图片之间进行选择:

图片1.jpg、图片2.jpg、图片3.jpg

然后你想展示他们选择的图片(比如 pic1.jpg)。

而不是将 pic1.jpg 复制到文件夹或数据库并将其命名为 selectedPic.jpg 如果用户更改图片,这会产生缓存问题,只需将链接存储到 pic1.jpg

祝你好运!

于 2013-10-04T00:10:10.007 回答