禁用某些图像的缓存

禁用某些图像的缓存

我使用PHPlib生成一些图像。

有时浏览器不加载新生成的文件。

如何仅对我动态创建的图像禁用缓存?

注意:随着时间的推移,我必须对创建的图像使用相同的名称。


慕侠2389804
浏览 457回答 3
3回答

慕桂英3389331

这个问题的一个常见和简单的解决方案,感觉像黑客,但相当可移植,是添加一个随机生成的查询字符串到每个请求的动态映像。所以,例如-<img&nbsp;src="image.png"&nbsp;/>会变成<img&nbsp;src="image.png?dummy=8484744"&nbsp;/>或<img&nbsp;src="image.png?dummy=371662"&nbsp;/>从web服务器的角度来看,访问相同的文件,但从浏览器的角度来看,无法执行缓存。随机数生成可以发生在服务器服务页面时(只需确保页面本身没有缓存.),也可以发生在客户端(使用JavaScript)。您将需要验证您的web服务器是否能够应付这个技巧。

Smart猫小萌

浏览器缓存策略可以由HTTP报头控制。请记住,他们只是一个提示,真的。由于浏览器在这个字段(和任何其他字段)中非常不一致,因此您需要几个标题才能在一系列浏览器上获得所需的效果。header&nbsp;("Pragma-directive:&nbsp;no-cache");header&nbsp;("Cache-directive:&nbsp;no-cache");header&nbsp;("Cache-control:&nbsp;no-cache"); header&nbsp;("Pragma:&nbsp;no-cache");header&nbsp;("Expires:&nbsp;0");
打开App,查看更多内容
随时随地看视频慕课网APP