S
S
Stepan Zubashev2015-09-16 15:09:29
caching
Stepan Zubashev, 2015-09-16 15:09:29

Why does Chrome force cache of appcache-manifest?

I am developing a single page application . I am using ApplicationCache . I grabbed a lot of problems with him, and, as usual, all are difficult to detect or hard to fix. At the moment, I have encountered the fact that Chromium , having opened an HTML page with the prescribed appcache-manifest , also saves the manifest itself to this Application Cache .
The header of the HTTP response to the request to the manifest file: " Cache-Control:no-cache, no-store, max-age=0, must-revalidate, proxy-revalidate ". Apart from this also tried " Cache-Control: no-cache". If you load the manifest file with an empty appcache-cache, then the caching mechanism works properly. For each request to the manifest, I get a response of 200 (not 304). The file itself is not loaded from the cache. The console is also empty, respectively. Everything
But as soon as I load an HTML page that specifies this manifest, the miracles begin.Chrome logs " Creating Application Cache ", and loads 1 by one all the prescribed resources (without a manifest file).Application Cache works normally and when reloading the HTML page, all files are loaded from the cache " Document was loaded from Application Cache with manifest ".
But what's sad. And the manifest file itself is also loaded from the cache. You can open it in a separate tab. Now, after creating the appcache,I get "Status Code:200 OK (from cache) ". The console displays " Document was loaded from Application Cache with manifest portalout.dev/portal.appcache ". That is, it loads this manifest using the same generated cache. the file is still the same: "Cache-Control: no-cache, no-store, max-age=0, must-revalidate, proxy-revalidate". Hard reset does not help. But, however, the "Disable cache" checkbox or demolition helps application cache on the service page
A couple of points:

  1. I can't say for sure yet, but it seems that this behavior is not observed in Firefox
  2. This manifest itself is not registered in the manifest file ( manifest ).
  3. Among the response headers to the manifest request is: " Content-Type:text/cache.manifest "

What can be wrong? I do not use a proxy server .

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question