【问题标题】:Is it OK for several paths to share the same ETag?多条路径可以共享同一个 ETag 吗?
【发布时间】:2016-01-18 01:39:13
【问题描述】:

我运行一个实时图像大小调整服务器,它充当浏览器和拥有原始图像的服务器之间的代理:

Browser <=> Resize server <=> Origin server

我可以在大小调整服务器上请求一张图片,带有不同的参数:

/images/kitten.jpg?w=400&h=300
/images/kitten.jpg?w=800&h=600

两个请求都将在源服务器上获取相同的文件/images/kitten.jpg,但会产生该图像的不同版本(大小)。

现在我想实现缓存。假设源服务器发送一个ETag 标头:

ETag: "13456789abcdef"

如果我只是转发未修改的ETag 以及我调整大小的图像,浏览器将缓存两个不同的图像,在两个不同的路径上,具有相同的ETag

现在我可以愉快地将任何 If-None-Match 标头从浏览器转发到源服务器,并通过回复 304 来响应 304 Not Modified

但是如果我的网络服务器上的两条路径提供不同的内容,共享相同的ETag,会不会有问题?

到目前为止,我已经成功实现了它,一切似乎都按预期工作。我只是想确保我没有忽略某些事情,并且在浏览器的缓存中让多个路径共享同一个 ETag 没有副作用。

【问题讨论】:

    标签: http http-caching


    【解决方案1】:

    不,这不是问题。 ETag 是每个请求的 URI。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多