【问题标题】:php - tell browser to "uncache" a php generated imagephp - 告诉浏览器“取消缓存”一个 php 生成的图像
【发布时间】:2012-08-24 21:02:50
【问题描述】:

我需要缓存一个 php 生成的图像,但是图像的内容(必须具有相同的 URL)可以更改。发生这种情况时,浏览器应该“取消缓存”旧图像并缓存新图像。但是,如果原始图像被缓存,浏览器不会向服务器发送请求。 为了缓存图像,我使用这个:

header("Cache-Control: private, max-age=10800, pre-check=10800");
header("Pragma: private");
header("Expires: " . date(DATE_RFC822,strtotime(" 2 day")));
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) 
       && 
  (strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == filemtime($file))) {
  header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($file)).' GMT', 
  true, 304);
  exit;
}

由于用户通过 ajax 和 JSON 获取所有内容,我不能(我可以,但它会使响应变大)指定哪个图像是我想要的。

【问题讨论】:

    标签: php caching


    【解决方案1】:

    您可以使用ETag
    但是……这仍然需要一个 http 请求和一个“部分”响应。

    【讨论】:

      猜你喜欢
      • 2017-03-14
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2010-11-26
      • 2014-06-30
      • 2011-10-08
      • 2012-08-23
      相关资源
      最近更新 更多