RFC 5861 proposes the Cache-Control extensions stale-while-revalidate:
When present in an HTTP response, the stale-while-revalidate Cache- Control extension indicates that caches MAY serve the response in which it appears after it becomes stale, up to the indicated number of seconds.
and stale-if-error:
The stale-if-error Cache-Control extension indicates that when an error is encountered, a cached stale response MAY be used to satisfy the request, regardless of other freshness information.
to allow stale content to be used for longer when a response cannot be revalidated.
These are supported by CDNs, including Fastly and KeyCDN.
stale-while-revalidate is also mentioned in the Fetch standard (stale-if-error is not).
What is the state of support in browsers?