• Maks Orlovich's avatar
    HttpCache: be more conservative when trying to reconstruct a full resource from partial one. · 70039f11
    Maks Orlovich authored
    (With partial resource being a 206, not a truncated one).
    
    Previously we would happily use a first chunk from cache, then fail in panic when validation
    of the second chunk failed; this was especially bad for servers whose validation fails to
    match for resources for which headers suggest it should.
    
    After this change, in this case, we force a validation of the first chunk, and if it fails
    re-fetch the entire resource. This is far from ideal, but we have limitations when it comes
    to converting a pre-existing 206 entry to a 200 one that make using somewhat-better-in-this-case
    If-Range really painful (and there is no multi-range support, that would be useful for these
    sorts of reconstructions, either).
    
    (Heavily affects the lazyload experiment)
    
    Bug: 888742
    Change-Id: I7f3f3b40dc1e2a98dd093ac09c98fe43eee5f3bd
    Reviewed-on: https://chromium-review.googlesource.com/c/1291595Reviewed-by: default avatarDavid Benjamin <davidben@chromium.org>
    Commit-Queue: Maks Orlovich <morlovich@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#606092}
    70039f11
http_cache_unittest.cc 397 KB