特别是在 JAX-RS(我不确定这是否相关)中,有一些方法允许您将 EntityTags 添加到响应中。实体标签到底是什么,它们使用了哪些实用的方法?
问问题
6138 次
3 回答
12
实体标签是将缓存合并到 HTTP 协议中的一种方式。当服务器返回响应时,它可以附加一个ETag
标头,该标头给出一个值,该值表示响应客户端请求而返回的对象的状态。
当客户端对同一响应发出后续请求时,它可以使用If-None-Match
标头在其请求中发回 ETag,服务器可以使用它来确定它是否需要发送新响应(即请求对象的状态已更改)或它是否可以响应 304 Not Modified 响应,指示客户端使用其本地缓存副本。
这最常用于缓存和对象状态相关的 RESTful API 和应用程序。
于 2010-03-02T16:00:31.690 回答
3
除了 Julians 参考:通常,实体标签使客户端、服务器和中介能够就资源的特定表示(因此是实体标签)达成一致。
该协议用于减少网络使用(条件检索)和并发控制(条件更新)。前者的工作方式是“如果该资源的当前表示不是我已经拥有的表示,请将其发送给我”,而后者的工作方式是“如果该资源仍然具有我期望的状态,则将此更改应用于该资源它有”)。
其余的在 HTTp 规范中详细解释。
简
于 2010-03-02T16:41:59.557 回答
2
于 2010-03-02T16:31:53.353 回答