什么是HTTP响应实体标签?

时间:2010-03-02 15:55:21

标签: http rest jax-rs

特别是在JAX-RS中(我不确定是否相关),有一些方法允许您将EntityTags添加到响应中。究竟什么是实体标签以及它们使用的实用方法?

3 个答案:

答案 0 :(得分:12)

实体标记是一种将缓存合并到HTTP协议中的方法。当服务器返回响应时,它可以附加ETag标头,该标头给出一个值,该值表示响应客户端请求而返回的对象的状态。

当客户端发出相同响应的后续请求时,它可以使用If-None-Match标头发回ETag的请求,服务器可以使用它来确定是否需要发送新响应(即状态请求的对象已更改)或是否可以响应304 Not Modified响应,该响应指示客户端使用其本地缓存副本。

这通常用于缓存和对象状态相关的RESTful API和应用程序中。

请参阅http://en.wikipedia.org/wiki/HTTP_ETag

答案 1 :(得分:3)

除了Julians参考:通常,实体标签使客户,服务器和中介能够就资源的特定表示(因此实体标签)达成一致。

该协议用于减少网络使用(条件检索)和并发控制(条件更新)。前者的工作方式是“如果不是我已经拥有的表示,请将此资源的当前表示发送给我”,后者的工作方式是“如果它仍然具有我期望的状态,则将此更改应用于该资源”它有“)。

其余内容在HTTp规范中有详细解释。

答案 2 :(得分:2)