我们有一个用例,我们将图像存储在CDN中。假设我们将a.jpg存储在缓存中,如果用户上传了较新版本的文件,那么它将刷新缓存并覆盖a.jpg。现在的挑战是浏览器可能已经缓存了该文件。由于我们无法在浏览器中刷新缓存的图像,因此我们考虑使用下面提到的两种方法之一:
您能否分享一下您使用etag标头进行缓存清除的想法?这是一个很好的做法吗?
答案 0 :(得分:0)
我不会建议etag。这可能有其优势,但也有其挫折。假设当每个服务器提供的内容可能发生变化时,您正在运行两个服务器,然后是etag。
我建议最好的事情是控制浏览器的缓存时间和持续时间。 我的意思是当从cdn向客户端浏览器发送响应时发送到期标头,比如5分钟TTL。这样浏览器将尊重到期标头。一旦过期,浏览器将在刷新页面时向cdn发送新请求。