用于PNG图像输出的标头,以确保它在浏览器中缓存?

时间:2011-09-06 18:09:26

标签: php caching http-headers browser png

我有动态生成的图像(PNG),将嵌入到网站和论坛中。当图像在非常繁忙的页面上发布时,有许多连接可以为不经常更改的内容提供服务。我想告诉浏览器缓存它的时间。

那么我需要什么标题?目前,我有:

Cache-Control: max-age=86400
Content-Type: image/png

似乎浏览器没有缓存图像(大约20-30kb)。还需要什么?

编辑: 这是一个示例图片,我已经有一个.png扩展名的网址: https://images.carspending.com/sigimg/5734/user/honda-accord-2-4i-executive-tourer_medium.png

3 个答案:

答案 0 :(得分:32)

最后一件事是:

header('Pragma: public');
header('Cache-Control: max-age=86400');
header('Expires: '. gmdate('D, d M Y H:i:s \G\M\T', time() + 86400));
header('Content-Type: image/png');

现在,在加载包含嵌入页面的页面时,浏览器不会对图像发出请求。

答案 1 :(得分:7)

确保您也将公开添加为:

header('Cache-Control: max-age=86400, public');

Read this also,非常有帮助。

答案 2 :(得分:2)

Expires标题应有帮助。

header('Expires: '. gmdate('D, d M Y H:i:s \G\M\T', time() + 86400));