我看到使用Cache-Control
和max-age
,我可以让浏览器缓存一个网页(及其资源,如CSS,JS,图片等)一段时间。标题缓存HTTP资源,并使用它,如果服务器不可用(即:脱机)?
但我想做到以下几点:
- 无论什么缓存包含,请尝试服务器(“正常”的行为)
- 如果服务器响应接触,使用来自服务器的响应(可能是304)
- 如果服务器没有响应(即:服务器关闭,或者您离线就像在移动设备上一样),然后使用缓存中包含的内容(如果缓存不包含任何内容,则显示错误)。
我真的不明白如何使用HTTP响应头来实现这一点。尝试Cache-Control: max-age=3600
将响应缓存一个小时,并且浏览器永远不要联系服务器。并且使用Cache-Control: no-cache
强制客户端联系服务器,并且如果移动设备处于脱机状态/服务器不可用,则始终返回错误。
什么是用于所需行为的HTTP标头值(业务目标是保持最后一个浏览器缓存版本在离线状态下仍能继续使用该网站)?
似乎没有HTTP头 - 这样做的简单方法,除了不实现'陈旧的错误,如果(实际上会很棒)。我会尝试服务工作者,然后https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers – Xenos