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.

14.9.5 No-Trans<strong>for</strong>m Directiveno-trans<strong>for</strong>mImplementors of intermediate caches (proxies) have found it usefulto convert the media type of certain entity bodies. A nontransparentproxy might, <strong>for</strong> example, convert between image<strong>for</strong>mats in order to save cache space or to reduce the amount oftraffic on a slow link.Serious operational problems occur, however, when thesetrans<strong>for</strong>mations are applied to entity bodies intended <strong>for</strong> certainkinds of applications. For example, applications <strong>for</strong> medical<strong>Fielding</strong>, et al. Standards Track [Page 115]RFC <strong>2616</strong> HTTP/1.1 June 1999imaging, scientific data analysis and those using end-to-endauthentication, all depend on receiving an entity body that is bit<strong>for</strong> bit identical to the original entity-body.There<strong>for</strong>e, if a message includes the no-trans<strong>for</strong>m directive, anintermediate cache or proxy MUST NOT change those headers that arelisted in section 13.5.2 as being subject to the no-trans<strong>for</strong>mdirective. This implies that the cache or proxy MUST NOT changeany aspect of the entity-body that is specified by these headers,including the value of the entity-body itself.14.9.6 Cache Control ExtensionsThe Cache-Control header field can be extended through the use of oneor more cache-extension tokens, each with an optional assigned value.In<strong>for</strong>mational extensions (those which do not require a change incache behavior) MAY be added without changing the semantics of otherdirectives. Behavioral extensions are designed to work by acting asmodifiers to the existing base of cache directives. Both the newdirective and the standard directive are supplied, such thatapplications which do not understand the new directive will defaultto the behavior specified by the standard directive, and those thatunderstand the new directive will recognize it as modifying therequirements associated with the standard directive. In this way,extensions to the cache-control directives can be made withoutrequiring changes to the base protocol.This extension mechanism depends on an HTTP cache obeying all of thecache-control directives defined <strong>for</strong> its native HTTP-version, obeyingcertain extensions, and ignoring all directives that it does not

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

Saved successfully!

Ooh no, something went wrong!