- From: <mogul@pa.dec.com>
- Date: Tue, 27 Jul 99 13:04:47 -0700
- To: http-wg@hplb.hpl.hp.com
Patrick McManus <mcmanus@appliedtheory.com> writes:
:: Section 3.6 calls for IANA to establish a registry of
:: "transfer-coding value tokens" that includes
:: "chunked" and "identity", but goes on to list
:: "gzip", "compress" and "deflate". But "gzip", "compress"
:: and "deflate" are not transfer-coding value tokens, they're
:: content-coding value tokens.
I don't get it.. but, I am having a bad day so it's most likely my
fault at interpretation.. but I thought the various compression
codings made sense for both content-coding and transfer-coding..
You're right; RFC2616 is pretty clear that there are two distinct
IANA registries, one for content-coding and one for transfer-coding.
Both registries currently contain the subset
gzip|deflate|compress|identity
but only transfer-coding also includes
chunked
and only content-coding also includes (as deprecated choices)
x-gzip|x-compress
here's my understanding: they are different things: the former is a
property of the entity, and the latter is a property of the
message.. and the various proxies and clients in the chain are
going to handle them differently depending on whether they are
content or transfer based (i.e. application/postscript that is
content-coded gzip should probably be saved to disk as .ps.gz but
if it is transfer-coded gzip then the UA would like decompress and
display, and if anything gets saved it's the .ps only), but the
algorithms and encodings themselves make sense in both contexts..
whereas something like chunked or jeff's delta musings make sense
only as transfer encodings.
Actually, our "Delta encoding in HTTP" draft
http://www.ics.uci.edu/pub/ietf/http/draft-mogul-http-delta-01.txt
has a lengthy discussion of this issue, and shows that delta encoding
can be done either way - as a content-coding or as a transfer-coding.
(See section 5.3 of that draft, conveniently titled "Content-coding or
Transfer-coding?".)
There are some tricky interactions between content-codings,
transfer-codings, and range responses, which are explained in section 4
of that draft ("Relationship between content-coding, transfer-coding,
and ranges"), although these are not specific to delta encoding.
Once you take these interactions into account, in fact, delta encoding
usually makes more sense as a content-coding than as a transfer-coding.
In your example of a response that is marked
Content-type: application/postscript
Content-Encoding: gzip
it's not entirely clear to me whether it should be saved to
disk in compressed format, but if one wants to actually display
this response in a browser (or a helper application, in this case)
it should certainly be decompressed first.
-Jeff
Received on Tuesday, 27 July 1999 13:08:32 UTC