为什么在浏览器缓存处理缓存时使用服务人员进行缓存?
问题描述:
我读取服务工作者进行离线缓存,类似于浏览器缓存。那么为什么更喜欢服务人员进行这种缓存。即使浏览器缓存也会检查修改或不修改的文件,然后从缓存中提供服务,而服务工作人员则从我们的代码中处理相同的事情。但默认情况下,浏览器具有该功能,那么为什么更喜欢服务人员?为什么在浏览器缓存处理缓存时使用服务人员进行缓存?
答
服务人员可以完全控制网络请求。您可以为获取事件返回任何您想要的内容,它不需要是该特定文件的过去或当前内容。
但是,如果浏览器缓存处理您的需求,则您没有义务使用服务人员。
它们也用于诸如推送通知之类的事物。
文档:https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API,https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers
我第二个“完全控制网络请求”。服务工作者可以做一些事情,比如操纵标题和一个资源与浏览器缓存无法做到的另一个资源(例如离线)。如果您只需要一个标准的浏览器缓存,那么没有理由将其重新实现为服务工作者 - 这不会更快或更容易使用。 – mjs