2

我在我的页面上动态创建图像,并告诉浏览器缓存图像,这很有效。但是当我按下F5刷新页面时,图像会重新加载,他们不应该这样做。这是我正在使用的 HTML:

<img width="240" height="240"
src="/user-data/images/image.php?id=2&file=1234567890&height=240&width=240" />

这是 PHP 标头部分:

header("Cache-Control: private, max-age=172800, pre-check=172800");
header("Pragma: private");
// Set to expire in 2 days
header("Expires: " . date(DATE_RFC822, strtotime(" 2 days")));
if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])){
    // if the browser has a cached version of this image, send 304
    header('Last-Modified: ' . $_SERVER['HTTP_IF_MODIFIED_SINCE'], true, 304);
    exit;
}

那么,当有人按下时,这是我可以控制的F5吗?我的标题中缺少什么吗?

4

1 回答 1

0

如果您使用的是 fastcgi - 将这些行放在 .htaccess 文件中:

RewriteEngine On
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]

并且$_SERVER['HTTP_IF_MODIFIED_SINCE']将可用。

于 2013-10-01T23:09:15.467 回答