几条路径可以共享同一个ETag吗?

时间:2016-01-18 01:39:14

标签: http http-caching

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

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 Not Modified来回复304

当我的网络服务器上的两条路径(提供不同的内容)共享相同的ETag时会出现问题吗?

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

1 个答案:

答案 0 :(得分:0)

不,这不是问题。 ETag是按请求URI。