11.07.2015 Views

Network Working Group R. Fielding Request for Comments: 2616 ...

Network Working Group R. Fielding Request for Comments: 2616 ...

Network Working Group R. Fielding Request for Comments: 2616 ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

- MAY send a weak entity tag instead of a strong entity tag, ifper<strong>for</strong>mance considerations support the use of weak entity tags,or if it is unfeasible to send a strong entity tag.- SHOULD send a Last-Modified value if it is feasible to send one,unless the risk of a breakdown in semantic transparency thatcould result from using this date in an If-Modified-Since headerwould lead to serious problems.In other words, the preferred behavior <strong>for</strong> an HTTP/1.1 origin serveris to send both a strong entity tag and a Last-Modified value.In order to be legal, a strong entity tag MUST change whenever theassociated entity value changes in any way. A weak entity tag SHOULDchange whenever the associated entity changes in a semanticallysignificant way.Note: in order to provide semantically transparent caching, anorigin server must avoid reusing a specific strong entity tagvalue <strong>for</strong> two different entities, or reusing a specific weakentity tag value <strong>for</strong> two semantically different entities. Cacheentries might persist <strong>for</strong> arbitrarily long periods, regardless ofexpiration times, so it might be inappropriate to expect that acache will never again attempt to validate an entry using avalidator that it obtained at some point in the past.HTTP/1.1 clients:- If an entity tag has been provided by the origin server, MUSTuse that entity tag in any cache-conditional request (using If-Match or If-None-Match).- If only a Last-Modified value has been provided by the originserver, SHOULD use that value in non-subrange cache-conditionalrequests (using If-Modified-Since).<strong>Fielding</strong>, et al. Standards Track [Page 89]RFC <strong>2616</strong> HTTP/1.1 June 1999- If only a Last-Modified value has been provided by an HTTP/1.0origin server, MAY use that value in subrange cache-conditionalrequests (using If-Unmodified-Since:). The user agent SHOULDprovide a way to disable this, in case of difficulty.- If both an entity tag and a Last-Modified value have beenprovided by the origin server, SHOULD use both validators in

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!