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 ?我是否从头文件丢失了某些内容?
您是否担心映像重新加载(带宽问题)还是由脚本再次生成相同的映像(服务器负载问题)? –
如果您点击F5,我知道某些浏览器倾向于再次检索所有内容,而不管缓存标题。但是,如果您使用超链接浏览(即使离开页面又返回),浏览器会正确使用缓存。可能值得检查,然后再尝试修复可能不存在的问题:) –
我只是不喜欢,它需要一段时间来加载图像。当它应该被缓存。 –