Parallel Downloading, the subsequent requests are not expected to use If-Range header. |
||
Issue descriptionCurrently half open partial requests use If-Range header. When using If-Range, if the server has a new version of the file, it will return http 200 and the full content. Parallel download sub-requests shouldn't use this since the etag has already been compared in the initial request. and sub requests should use the etag refreshed in the initial request which is just updated at most a few seconds ago. The subsequent requests will fail unless the server passes the initial request's etag check but failed on the later requests, which is very weird, and probably indicate some kind of issue on the server Or the server just update the file. In these rare edge cases, we should interrupt the download.
,
Mar 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b791e0b97910713700bf8e4f3396521cff290d3b commit b791e0b97910713700bf8e4f3396521cff290d3b Author: xingliu <xingliu@chromium.org> Date: Thu Mar 30 23:38:58 2017 Add control to use If-Range header for range request. Currently If-Range is used in all half opened request, including normal download resumption, and parallel download subsequent requests. However parallel download subsequent requests may not necessarily use If-Range header. This CL adds a parameter to control if If-Range is sent in the request. Also refactored the code to attach partial request headers. BUG= 706181 , 644352 Review-Url: https://codereview.chromium.org/2786523002 Cr-Commit-Position: refs/heads/master@{#460930} [modify] https://crrev.com/b791e0b97910713700bf8e4f3396521cff290d3b/content/browser/download/download_request_core.cc [modify] https://crrev.com/b791e0b97910713700bf8e4f3396521cff290d3b/content/browser/download/download_request_core.h [modify] https://crrev.com/b791e0b97910713700bf8e4f3396521cff290d3b/content/browser/download/download_request_core_unittest.cc [modify] https://crrev.com/b791e0b97910713700bf8e4f3396521cff290d3b/content/browser/download/download_worker.cc [modify] https://crrev.com/b791e0b97910713700bf8e4f3396521cff290d3b/content/browser/download/parallel_download_job.cc [modify] https://crrev.com/b791e0b97910713700bf8e4f3396521cff290d3b/content/public/browser/download_url_parameters.cc [modify] https://crrev.com/b791e0b97910713700bf8e4f3396521cff290d3b/content/public/browser/download_url_parameters.h
,
Apr 6 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by xingliu@chromium.org
, Mar 28 2017