我使用PHP库生成一些图像。
有时浏览器不会加载新生成的文件。
如何仅为我动态创建的图像禁用缓存?
注意:随着时间的推移,我必须对创建的图像使用相同的名称。
对于这个问题,一种常见而简单的解决方案是给每个对动态图像的请求添加一个随机生成的查询字符串,这种解决方案看起来很像黑客,但移植性很强。
因此,例如-
<img src="image.png" />
会成为
<img src="image.png?dummy=8484744" />
要么
<img src="image.png?dummy=371662" />
从Web服务器的角度来看,可以访问同一文件,但是从浏览器的角度来看,不能执行缓存。
随机数的生成可以在服务页面时在服务器上发生(只需确保页面本身未缓存…),或者在客户端上发生(使用JavaScript)。
您将需要验证您的Web服务器是否可以应对这一技巧。