New issue
Advanced search Search tips

Issue 710632 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Disabling caching for unknown content-encodings

Project Member Reported by rdsmith@chromium.org, Apr 11 2017

Issue description

The 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. 

 
Owner: rdsmith@chromium.org
Status: Assigned (was: Untriaged)
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.

Owner: ----
Status: Available (was: Assigned)

Sign in to add a comment