我们有一个用例,在这个用例中,我们将图像存储在CDN中。假设我们将a.jpg存储在缓存中,如果用户上传一个较新版本的文件,那么它将刷新缓存并覆盖a.jpg。现在的挑战是浏览器可能已经缓存了文件。由于不能在浏览器中刷新缓存的映像,所以我们正在考虑使用以下两种方法中的一种:
您能分享一下使用etag头来破坏缓存的想法吗?这是使用它的好方法吗?
发布于 2017-02-27 23:20:23
我不会建议艾塔格。这可能有其优势,但也有其挫折。假设您正在运行两个服务器,那么当从每个服务器服务的内容可能发生变化时,etag就会发生变化。
我建议的最好做法是控制浏览器正在缓存的内容以及缓存时间。我的意思是,当从cdn发送响应到客户端浏览器时,比如5分钟TTL,发送过期头。这样,浏览器将尊重过期标头。一旦过期,浏览器将在刷新页面时向cdn发送新请求。
https://stackoverflow.com/questions/40785851
复制相似问题