首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Service Worker cache API和使用常规浏览器缓存有什么不同?

使用Service Worker cache API和使用常规浏览器缓存有什么不同?
EN

Stack Overflow用户
提问于 2016-02-04 09:00:46
回答 2查看 9.3K关注 0票数 61

在我的渐进式Web应用程序中,我应该在服务工作者中使用Cache API来处理我的静态资源吗?或者我应该仅仅依靠浏览器的本地缓存控件来处理这些资源?有什么关系呢?

EN

回答 2

Stack Overflow用户

发布于 2016-02-04 09:00:46

服务工作者缓存API的一个主要优势是,它为您提供了比内置浏览器缓存更详细的控制。例如,当用户首次运行您的web应用程序时,您的服务工作人员可以缓存多个请求,包括他们尚未访问的资产。这将加快后续请求的速度。您还可以实现自己的缓存控制逻辑,确保重要的资产保留在缓存中,同时删除较少使用的数据。

票数 35
EN

Stack Overflow用户

发布于 2017-12-26 06:31:10

主要的区别是控制。浏览器缓存被从Cache-Control头中驱逐,这是好的,直到它不好。有各种各样的策略来管理如何缓存网络可寻址资源;私有的、公共的;生存时间等。

使用服务工作者缓存,您可以通过编程方式控制这些资产的持久化方式。但这意味着重担落在了你身上。

我认为浏览器缓存是不可靠的。浏览器将根据设备存储可用性自动清除资产。例如,iPhones用于忽略超过25kb的任何资源的缓存。今天,我认为他们真的很有侵略性。

我知道Facebook团队几年前做过一项研究,发现他们期望浏览器根据头文件缓存的文件中只有25%被缓存了。这意味着有额外的网络流量和服务器活动。

这就是为什么服务工作者缓存是更好的选择。不要删除你的缓存头,只是不要依赖它们。

票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35190699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档