title: How to properly invalidate an HTML5 Cache Manifest for online/offline web apps?
body: <p>I'm currently using a Cache Manifest (as described <a href="https://developer.mozilla.org/en/Offline_resources_in_Firefox" rel="noreferrer">here</a>). This effectively makes the necessary resources to run the application available when the user is offline. </p>
  
  <p>Unfortunately, it works a little too well. </p>
  
  <p>After the cache manifest is loaded, Firefox 3.5+ caches all of the resources explicitly referenced in the cache manifest. However, if a file on the server is updated and the user tries force-refreshing the page while online (including the cache-manifest itself), Firefox will absolutely refuse to fetch anything. The application remains completely frozen at the last point it was cached. Questions:</p>
  
  <ol>
  <li>I want Firefox to effectively only rely on the cached resources when the network connection fails. I've tried using the FALLBACK block, but to no avail. Is this even possible?</li>
  <li>If #1 is not possible, is it possible for the user to force-refresh a page and bypass this cache (ctrl-F5 doesn't do it and neither does clearing the browser's cache, shockingly) short of clearing their private data? Alternatively, does the cache-manifest mechanism support expiry headers and is its behavior with respect to this documented anywhere?</li>
  </ol>