The ETag HTTP header
The ETag header is a HTTP header whereby a HTTP server can indicate the identify of a given entity variant or version. This identity can then be used to validate if it still is current, or in case of Vary to find which one of a known list of variants are valid for the current user/request.
HTTP/1.1 references
- 3.11 Entity Tags
- Description of what an entity-tag is.
- 14.19 ETag
- Syntax of the ETag header
- 13.3.3 Weak and Strong Validators
- How to compare ETag headers
- 13.3.4 Rules for When to Use Entity Tags and Last-Modified Dates
- Rules for When to Use Entity Tags and Last-Modified Dates
- 13.6 Caching Negotiated Responses
- How caches should operate on negotiated content. Please note the last paragraph making a connection to Content-Location which isn't entirely obvious (but still reasonable).
- 14.24 If-Match
- Describes a method of operating on an object IFF it matches a known entity identity. Used for example when updating content using the PUT method, to only perform the update if the current version is the one we expect.
- 14.26 If-None-Match
- Describes a method of retreiving an object only if is is not included in a previously known list of object identities. Used in cache validations and Vary headers matches.
- 14.27 If-Range
- Describes how to use entity tags to protect range retreival from object modification
- 10.3.5 304 Not Modified
- In addition to the obvious description of 304 the last paragraphs also tells what to do if the 304 disagrees with what we have cached
Notes
ETag can be supported by caches in a multitude of different aspects
- No support, completely ignoring ETag values
- Validation support, using ETag while validating cached entities
- Vary support, using If-None-Match to find the proper variant among a set of cached entity variants.
$Id: etag-header.html,v 1.3 2006/07/01 15:07:07 hno Exp $