I find the W3C's official Offline Web Applications specification to be rather vague about how the cache manifest interacts with headers such as ETag, Expires, or Pragma on cached assets. I know that the manifest should be checked with each request so that the browser knows when to check the other assets for updates. But because the specification doesn't define how the cache manifest interacts with normal cache instructions, I can't predict precisely how the browser will react.

Will assets with a future expiration date be refreshed (no matter the cache headers) when the cache manifest is updated? Or, will those assets obey the normal caching rules?

Which caching mechanism, HTTP cache versus cache manifest, will take precedence, and when?

1 Answer 1


I know Steve Souders has done a video that deals with problems, inconsistencies, and solutions related to this, but I can't recall which one (most of his work is related to performance, and thus often cache, and I recall a detailed discussion of Offline App Cache in one of them). It might be this YouTube video or it might not but between the video and his blog you should be able to find info on this.

I also learned a lot about this from the HTML5 Boilerplate Docs on server configs. Your knowledge about this is way beyond mine but hopefully you can review these things and find what you're looking for.

  • The video above does not contain any information about appcache manifest interacting with cache headers.It's a very nice video explaining both topics, but not both of them together. I know appcache is now deprecated, but I wanted to save the next person that finds this some time.
    – DreamWave
    Commented Mar 19, 2020 at 10:00
  • I don't even remembering answering that question or anything about that video so that is entirely possible.
    – adam-asdf
    Commented Mar 20, 2020 at 21:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.