IE和Chrome缓存“无缓存”图像

时间:2011-10-10 09:45:07

标签: ruby-on-rails internet-explorer google-chrome amazon-s3 browser-cache

您好我在我的rails应用程序中广泛使用片段缓存。我已经缓存了包含用户图像的片段。因此,当用户更改他/她的头像(图像)时,许多片段必须过期。为了解决这个问题,我做了一些设置,以便用户的头像URL始终保持不变(“/ avatars /:user_id / thumbs”)。

我使用amazon s3进行存储,图像的expires标头是“no-cache”。 示例图片网址:https://s3.amazonaws.com/bucket_name/avatars/388/thumbs

在IE和Chrome中,我遇到了一个特殊的问题。当用户改变他的化身时,它不会在客户端被立即反映出来。图像需要2-3页刷新才能更改。有没有人遇到过类似的问题?

1 个答案:

答案 0 :(得分:1)

在我看来,你的做法是错误的。在您正在执行时使片段过期,但允许rails缓存破坏时间戳以强制浏览器下载新图像。

e.g。 s3.amazonaws.com/bucket_name/avatars/388/thumbs/filename.jpg?1230601161