Re: GOOGLE SAVES THE WORLD - Range request utility: Chrome vs FF vs IE vs Safari

Hi Chris, how do you simulate dropped connection for chrome? First I
tried to terminate the connection from the server side (before the end
of response is reached), but Chrome then reports that the download is
success. Second I tried to "pause" download on Chrome, but apparently
Chrome does not terminate the connection; the connection stays open
until the server times out and closes the connections, and then Chrome
reports the download is success.

> Firefox
> Downloadable Content: Sends range requests, but only if the user explicitly
> pauses the transfer.  It will always send a range request for C-E identity.
> It will send range requests for C-E gzip, but if and only if the original
> response contained the Content-Length header.

This is understandable. If the server does not know the length of the
entity, it is difficult to respond to a range request with 216,
because "last-byte-pos" is unknown. Of course, it's possible that the
Content-Length is unknown on the 1st request, then becomes known
subsequently. Firefox probably thinks that is uncommon.

Here's some of my observations on Firefox and IE resumed download:

1. If the 1st response has no ETag:

    Firefox: the 2nd request is not Range request.
    IE: "pause" is disabled for the 1st response

2. If responses have changing ETags:

    Firefox/IE: send "If-Range" on resumed download, so no problem there

3. If the 1st response has no Content-Length:

    Firefox: the 2nd request is not Range request.
    IE: "pause" is disabled for the 1st response

4. If the 1st response is gzip-ed with Content-Length:

    Firefox: the 2nd request is not Range request.
    IE: "pause" is disabled for 1st response; also does not show total
length or percentage of download, as if Content-Length is ignored.

Also I remember previously on an older version of Firefox, the browser
does send Range request even if the 1st response contains no
Content-Length. That's apparently not the case any more on the current
version (28.0, win7)

Zhong Yu

Received on Tuesday, 8 April 2014 21:28:58 UTC