title: Why does HTML5 offline re-cache the entire manifest, and only when the manifest file changes?
body: <p>I have been reading the <a href="http://diveintohtml5.info/offline.html" rel="nofollow">chapter on offline</a> in Dive Into HTML5, and it has left me with some questions.</p>
  
  <p>It says</p>
  
  <blockquote>
    <p>Every time you make a change to one of the resources in your offline web application, you’ll need to change the cache manifest file itself. This can be as simple as changing a single character. The easiest way I’ve found to accomplish this is to include a comment line with a revision number. Change the revision number in the comment, then the web server will return the newly changed cache manifest file, your browser will notice that the contents of the file have changed, and it will kick off the process to re-download all the resources listed in the manifest.</p>
  </blockquote>
  
  <p>But let's take the Wikipedia example that is discussed in the same article. Whenever an article is edited, the manifest file must be changed to reflect the edit, and any user that has stored pages offline will lose them because they are not explicitly mentioned in the manifest. Is this really desirable behaviour? If yes, why not do the following:</p>
  
  <ol>
  <li>Store files in the offline cache until they are deleted explicitly, even when the manifest changes</li>
  <li>Update files in the cache when they are changed (e.g., when the server does not return a 304 Not modified)</li>
  </ol>
  
  <p>If one were to get the behaviour described in the above two points, what would be his options? Use local storage or something?</p>