Etag 令牌如何在 HTTP 中的条件 GET 中工作?

How does an Etag token works in Conditional GET in HTTP?

所以基本上我想了解请求中If-None-Matchheader中ETag令牌值的工作原理。

我已经了解 If-modifies-since 条件 GET 方法的工作原理。 有人可以用简单的术语解释条件 GET 在具有 If-None-Match 条件的 Etag 的情况下如何工作吗?

提前致谢:)

对于条件请求,您使用 If-None-Match 传递 Etag 或 If-Modified-Since 使用日期。

Etag 是表示实体状态的值。通常,它是一个 base64 编码的哈希值。请求资源时,服务器可能会在响应中附加一个 EtagHTTP header,这样的 Etag 将代表资源的状态。那么客户端可能会在下一次请求中发送一个Etag或者collection中的If-None-Matchheader中的Etags,这样服务器会检查请求资源的状态是否已经改变,如果是的话将 return 带有新资源表示的 HTTP 200 或表明资源未更改的 HTTP 304。

Etag 被认为是强验证器,因此 If-None-Match 将优先于 If-Modified-Since

更多信息: