- From: <jg@w3.org>
- Date: Thu, 06 Jun 96 10:33:41 -0400
- To: "Roy T. Fielding" <fielding@liege.ICS.UCI.EDU>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
Roy and I talked this morning about no-transform (and in fact, a number of the other cache control directives). Here is an attempt to meet his problems with no-transform. The current text does not motivate the directive properly, or explain properly when you might use it (at least in the most common situations), or deal with the fact that it may be media-type transformations that are the biggest problem with transformations. I believe HTTP/1.1 as currently specified in ID04 actually requires all content codings to be conservative, that is, must result in the same bits being returned (the words are "without loss of information"), so it really is a media type issue, not a content-coding issue. Draft 04 had already tightened up requirements on possible content-codings. As currently written, the text regarding no-transform reads: 14.9.5 Miscellaneous Restrictions In certain circumstances, an intermediate cache (proxy) may find it useful to convert the encoding of an entity-body. For example, a proxy might use a compressed content-coding to transfer the body to a client on a slow link. Because end-to-end authentication of entity bodies and/or entity-headers relies on the specific encoding of these values, such transformations may cause authentication failures. Therefore, an intermediate cache MUST NOT change the encoding of an entity-body if the response includes the no-transform directive. Here is an attempt to rewrite this: 14.9.5 No-Transform Directive Intermediate caches (proxies) have found it useful to convert the media type of an entity-body under some circumstances. For example, a proxy might use convert image formats to other, more compact formats or sizes before transmission on a slow link, or to save cache space. HTTP has to date been silent on these transformations, but serious operational problems are now known to occur frequently for certain kinds of applications, which have failed as a result. Some entity-bodies must not undergo any transformation before being provided to applications. Examples include: medical imagery, scientific data and data using end-to-end authentication, where it is important that the original entity-body be exactly reproduced bit for bit in the application. Therefore, an intermediate cache MUST NOT change the media type of an entity-body if the response includes the no-transform directive. Let me know of any problems. - Jim
Received on Thursday, 6 June 1996 07:37:54 UTC