假设我们正在创建一个服务器资源,其中包含一组包含行 1、2、3 的数据,以及一个 REST 端点,该端点返回 GET 请求上的参数“row”指定的一行。我们有一个针对整个数据集而更改的最后修改日期,并希望将其用作响应的电子标签。
我的期望是,请求“row=1”并在响应中接收 eTag 的客户端不会使用该标签来请求“row=2”,而仅用于以后使用“row=1”的查询。因此,对于“行”为 1、2 或 3 的请求,返回的 eTag 相同(因为它使用的是整个集合的修改日期)并不重要。这是正确的吗?
您是对的,etag 在不同资源中不需要是唯一的。它们只需要对于特定资源的特定表示是唯一的。
如果 URL 不同,则资源不同。但有一个例外,
#fragment
中的更改仍会获取相同的资源。