- From: Ben Maurer <ben.maurer@gmail.com>
- Date: Tue, 14 Jul 2015 11:17:50 +0100
- To: Bryan McQuade <bmcquade@google.com>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CABgOVaJCj0oAJ+xvy8NqC=qirVJyQ4gW_He+q+TKPXUv67jMPA@mail.gmail.com>
On Tue, Jul 14, 2015 at 12:49 AM, Bryan McQuade <bmcquade@google.com> wrote: > Some history around page refresh->subresource reload browser behavior: > > HTTP/1.1 RFC (now deprecated): > http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.4 > "14.9.4 Cache Revalidation and Reload Controls: Sometimes a user agent > might want or need to insist that a cache revalidate its cache entry with > the origin server ... End-to-end revalidation might be necessary if either > the cache or the origin server has overestimated the expiration time of the > cached response. End-to-end reload may be necessary if the cache entry has > become corrupted for some reason." > > I take the above to suggest that the page refresh->reload subresource > behavior was added to give users more certainty that refreshing a page > would reload any corrupted or out of date resources. This seems like a fine > default, but I agree with Ben that it'd be useful to allow web developers > to opt out of this behavior. > For what it's worth, at least in our configuration reloading will do absolutely nothing to fix cache corruption. The client will send us an If-Modified-Since request, our servers will note that the resource has not changed and we will send a 304. We've actually seen this in practice -- we've experienced issues where users somehow get corrupted resources ( https://code.google.com/p/chromium/issues/detail?id=161127). Refreshing does *not* fix the issue, the users have to either clear cache or use a ctrl+shift+r. -b
Received on Tuesday, 14 July 2015 10:18:19 UTC