'How to set cache-control to always check for updates but always fall back to cache if server is unreachable

I'm missing something trying to understand cache-control (e.g., from https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control).

How do I set up cache control to accomplish the following (I'll be using an .htaccess file):

  1. If client fetches a file, it should always store it in the cache.
  2. When client needs a file, it should always check to see if the file has been changed and download a new copy if it has changed.
  3. If the attempt to check fails -- e.g., server down or no Internet connection -- client should always use a cached copy if available, no matter how old. Any copy is better than none.


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source