Disabling caching for unknown content-encodings |
||
Issue descriptionThe chromium network stack layers content-decoding above the cache, so retrieved network entries are stored in the cache in an encoded format. This means that as content encodings change (and specifically are deprecated), there may be entries in Chromium's cache referring to no longer supported content-encodings. Servers SHOULD include a "Vary: Accept-Encoding" if they are using a content-encoding, so that if the content encodings on the other side of a cache change, the cache does not serve uninterpretable bytes to the cache consumer (this may be more obvious if considered in the context of an intermediate cache rather than a browser-integrated cache). However, servers do not always perfectly implement the spec, and it would be useful for Chromium's cache to have some resilience against incorrect server implementations. To fix this problem, Chromium's internal cache will consider invalid (i.e. requiring revalidation) any entries that include an unsupported Content-Encoding. This will mean that unsupported content encodings will not be completely cacheable; they will be stored in cache, but will not be retrieved from cache without validation with the server.
,
Apr 12 2017
Note that Cronet has consumers that set the Accept-Encoding header with encodings that they then take responsibility for decoding. While this behavior is undesirable, at least in the short term it needs to be supported. So this change will not be made for Cronet.
,
Feb 16 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by rdsmith@chromium.org
, Apr 11 2017Status: Assigned (was: Untriaged)