0

我通过简单地附加一个

?time=current_time_stamp

发出请求时到我的图片网址。

但是,我只需要在用户更新他们的照片后立即中断缓存。

我可以为用户照片的每个图像请求添加时间戳,但这似乎有点过头了。

有没有办法告诉浏览器,图片已经更新,请刷新缓存。

否则,我需要为所有动态图像附加时间戳或类似内容,以捕捉图像中的任何变化。

谢谢

4

1 回答 1

1

最好的方法是在图像更改时修改服务器上图像的文件名,以便当图像更改时,浏览器 HTML 包含对新文件名的引用,因此浏览器请求新文件名(这不是在缓存中)。文件名可以包含一个版本号,您可以在文件被修改时增加该版本号,或者您可以只使用时间戳作为文件名的一部分。

这为您提供了两全其美的体验。当图像没有更改时,您会在浏览器中获得最大的缓存,但当图像更改时,您也会立即获得更新。

同样相关的是,服务器可以控制每个单独元素上的缓存指令,以指示浏览器是否可以缓存或缓存多长时间。

于 2013-02-17T14:39:14.163 回答