httpbis and deflate compression...

Hi,

I offered some assistance on this at the WG today.  Julian suggested that I send this information to the list.

I think RFC2616 is quite clear on what the correct behavior is for "Content-encoding: deflate".  However, because of the naming, I think there is an easy way for people to get confused.

Per 2616:

    deflate
        The "zlib" format defined in RFC 1950 [31] in combination with
        the "deflate" compression mechanism described in RFC 1951 [29].

However, it would be easy for someone to think that "Content-encoding: deflate" should simply map to the RFC for "deflate", which is just RFC1951 without the additional headers from 1950.

We could try to clarify this by adding an implementation note to the text.  Alternately, since some servers actually do implement *just* the 1951 version, we could add another content-coding which is specifically for this.  My suggestion would be to call that "deflate-bare" or something along those lines.  Then an implementer would have to actually think about what the difference between the two is, and anyone who currently implements the plain 1951 version could easily come into compliance without changing their actual compression code.

I'm not sure if there is any real demand for something like a "deflate-bare", although I could hypothesize that maybe someone chose this to avoid the extra checksum calculation required in RFC1950.

Just adding the note would be the simpler thing to do from a documentation perspective.  We could say something like:

NOTE:  Some implementations have incorrectly used only the RFC1951 encoding when returning data using the "deflate" content-coding.  Implementers should be aware the a compliant implementation of the "deflate" content-coding should follow the "ZLIB Compressed Data Format Specification" as defined in RFC1950.

--J

Received on Tuesday, 23 March 2010 00:50:26 UTC