在生产中,我们的静态文件通过 Akamai(但在我们的域上)提供服务,包括我们的 Service Worker。
默认情况下,我们会缓存 Service Worker,但它似乎并不总是会更新。
正确的策略是什么?我们是否应该将 Service Worker 设置为永远不被缓存,并为 Service Worker 中的每个调用进行命中以每次拉取新的 Service Worker?
最佳答案
服务工作线程(如果有新的)应至少每 24 小时更新一次,即使您将“max-age”设置为大于 24 小时的值:https://github.com/slightlyoff/ServiceWorker/blob/master/explainer.md#updating-a-service-worker
浏览器将检查每个页面加载时是否有更新,但会遵守缓存。因此,您可以使用“max-age”来决定浏览器检查更新的频率。
关于service-worker - 确保 Service Worker 在 CDN 上托管时得到更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35873006/