服务人员与AppCache的核心区别是什么?每个人有什么优点和缺点,什么时候比较喜欢哪个。服务人员与AppCache的比较
回答
主要区别在于AppCache是一个高级的声明式API,可以用它指定您希望浏览器缓存的一组资源;而服务工作者是一个低级的,势在必行的事件驱动的API,通过它你可以编写一个脚本,拦截获取事件并缓存响应以及执行其他操作(如显示推送通知)。
优点和缺点在很大程度上是API设计的一个功能:理论上,AppCache更易于使用,同时具有更多有限的用例;而服务工作者很难使用,但更灵活。
尽管如此,由于设计不佳,AppCache在实践中被认为很难使用(有关设计问题的列表,请参阅Application Cache Is A Douchebag)。它已被弃用,所以它从浏览器中删除(根据Using the application cache)。
因此,更喜欢AppCache的唯一原因是在尚不支持服务工作者的浏览器上对应用程序进行脱机,正如Kenneth Ormandy在Don’t Wait for ServiceWorker: Adding Offline Support with One-Line中的建议。
比较Can I use Service Workers?到Can I use Offline web applications?查看浏览器支持的差异。但请注意,支持Service Worker的浏览器(例如Chrome和Firefox)将取消对AppCache的支持,因此您需要同时在所有支持标准的浏览器上将应用程序脱机。
另外的什么Myk Melez说,一个服务人员针对应用程序缓存的主要好处是,当用户从网络断开的应用程序缓存才能正常运行,所以你不能管理的情况:
1- “慢速网络” - 你的连接信号很强,但是一些外部实体(服务器,路由等)正在延迟传输到你的特定应用程序。
2-“Lie-fi”(您的手机显示器连接到信号较低的wi-fi或小区网络),因此实际上没有连接。
服务人员就像一个中间件,可以让您控制浏览器的请求,无论您是否连接,您都可以实际拦截请求并随时响应。所以你可以实现“离线优先”原则。
- 1. 云服务比较
- 2. 避免与服务人员缓存start_url
- 3. 与服务人员在线状态
- 4. 与服务器API进行Synchronous比较
- 5. 与私人界面比较
- 6. 服务器比较 - 根据规格比较服务器
- 7. 服务人员提取
- 8. 服务人员和Django
- 9. 服务人员块backbonejs?
- 10. FCM服务人员setBackgroundMessageHandler
- 11. 服务人员,双缓存?
- 12. 服务器负载比较
- 13. SQL服务器:比较NULL
- 14. SQL服务器datetime比较
- 15. .NET Remoting与Web服务与Windows Communication Foundation(WCF)的比较
- 16. IIF与会员比较日期
- 17. 比较结构与指针成员
- 18. 从另一个客户端人员服务调用客户端人员服务
- 19. $就比较$。员额
- 20. 服务人员的目的是什么?
- 21. 比较UIView与方法ID发件人
- 22. 练习服务人员的选项
- 23. 不适用于Chrome的服务人员
- 24. 开发人员的Ldap服务器
- 25. 服务人员 - 最简单的实现
- 26. 我的服务人员何时更新?
- 27. Web Workers内部的服务人员
- 28. 服务人员的pug模板引擎
- 29. 取不工作的服务人员
- 30. 比较机器人