PNG图像输出的标题以确保它在浏览器中缓存?

2022-08-30 17:42:28

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

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

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

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

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


答案 1

最后一件有效的事情是:

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');

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


答案 2

确保还添加了公共,如下所示:

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

阅读这个,是非常有帮助的。


推荐