- From: Ashok Kumar <ashokkumar.j@gmail.com>
- Date: Fri, 29 Jul 2011 14:26:01 +0530
- To: Brian Pane <brianp@brianp.net>
- Cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
- Message-ID: <CAOeYYRfvcFJHXAU=VK6zLmwUpRMeycVWjr-Uv2nQvRbzV_yLsg@mail.gmail.com>
Thanks again Brian. Brian Pane wrote > what's the use case in which two runs of > gzip, both starting with freshly initialized state (as is the case > when gzip is invoked dynamically on a per-response basis in every > server and proxy implementation I've seen), will produce different > output from the same input? for a proxy, won't gzip bytestream change because of the MTIME change (since the proxy will fill in compression start time instead of original file modification time because its working on a stream rather than a file?). For ZLIB/Deflate, this should be fine. On Fri, Jul 29, 2011 at 12:41 PM, Brian Pane <brianp@brianp.net> wrote: > On Thu, Jul 28, 2011 at 10:45 PM, Ashok Kumar <ashokkumar.j@gmail.com> > wrote: > > > So this also implies that for dynamically generated gzip compressed > response, when server > > receives an If-Range, then server can only respond with 200 with > uncompressed response? > > I think there are two situations where the server could respond with a 206: > > 1. The If-Range request specifies an entity-tag, and the server knows > (via implementation-specific means) that this entity-tag is the same > as the ETag the server would use for the response at the present time. > > 2. The If-Range request specifies an HTTP-date, and the server knows > (via implementation-specific means) that the Last-Modified date it > would use for the response at the present time is no later than the > specified HTTP-date. > > > This begs another question. Though not specific to HTTP WG, but just to > make sure my > > understanding is correct. IIRC, Apache mod_gzip fixed the E-Tag > generation problem > > by appending "-gzip" or similar to end of E-tag of the original content. > If two runs of > > gzip compression don't produce the same output, isn't the E-Tag generated > wrong? > > If it's a weak ETag, then it's okay to use the same ETag value even if > two applications of compression yield outputs that aren't bytewise > equal. If it's a strong ETag, like you'd need in order to support > If-None-Match or If-Range, then yes, the generated ETag would be wrong > in this situation; however... what's the use case in which two runs of > gzip, both starting with freshly initialized state (as is the case > when gzip is invoked dynamically on a per-response basis in every > server and proxy implementation I've seen), will produce different > output from the same input? I can only think of a couple of ways to > cause the output to differ while still producing a response the client > can uncompress: > - Change gzip's compression level between the two runs, or > - Swap in a different compression implementation (that produces > different but still valid gzip-formatted output) between the two runs. > Neither of those is impossible, but I don't imagine that they're > common cases either. Am I missing any other use case? > > Thanks, > -Brian > > -- .- ... .... --- -.-
Received on Friday, 29 July 2011 08:56:37 UTC