It’s just data

Etag vs Encoding

Learn something new every day.

Despite being the way Apache httpd currently behaves, and how I would read the HTTP spec apparently it is the behavior of IIS 7 and the apparent consensus of the Apache httpd developers (including one of the authors of the spec) that a different ETag value should be used if the response is compressed over when it is not.


Section 3.2 of Clarifying the Fundamentals of HTTP has a good explanation of this issue.

Posted by Robert Sayre at

Etags can also be unique based on the server too, so if you’ve got multiple servers for a given site each could send a different etag for an identical file.  Yahoo!'s 13 simple rules for speeding up your web site recomends turning off etags all together.  Check out [link] (and the whole article).  Also, if you install the Firebug YSlow add on for Firefox you can check each of these rules against any page on your site.  It’s a pretty cool tool...

Posted by Joe O'Brien at

I disagree with your reading of the specification based on this sentence from RFC 2616:

The content-coding is a characteristic of the entity identified by the Request-URI.

Change the Content-Encoding and you change a characteristic of the entity, not a mere transmission artefact.

Posted by Jim at

Is the reason mod_deflate doesn’t use Transfer-Encoding: gzip lack of browser support?

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.41

The Transfer-Encoding general-header field... differs from the content-coding in that the transfer-coding is a property of the message, not of the entity.

Seems a more accurate description of what’s actually done with an output filter, as opposed to say, what happens with AddEncoding gzip .gz .tgz or suchlike.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6

The Internet Assigned Numbers Authority (IANA) acts as a registry for transfer-coding value tokens. ...the registry contains... “gzip”...

Posted by anonymous at

Is the reason mod_deflate doesn’t use Transfer-Encoding: gzip lack of browser support?

Another likely reason could be the fact that Transfer-Encoding is hop-by-hop.

Posted by James Snell at

Content-Encoding versus Transfer-Encoding

Today I discovered a “problem” where Apache’s mod_deflate changes a resource’s ETag value from “foo” to "foo"-gzip when compressing the representation. This problem has been a while in coming , and after some research I’m convinced that Apache’s...

Excerpt from News You Can Bruise at

Add your comment