【发布时间】:2016-01-02 00:32:46
【问题描述】:
浏览了多篇文章后, 我仍然不清楚本地存储和应用缓存清单之间的区别。
也称为:Is AppCache = Application Cache = Web Storage's LocalStorage? (SO 10986026)、Application Cache is a Douchebag (A List Apart)
我的目标是建立一个网站,根据用户的需求允许用户离线访问特定页面。
后续步骤:
我在 Chrome 上打开了一个网站:http://www.spritecow.com/
并检查 AppCache : chrome://appcache-internals/
并且网站被缓存了。我关闭了 Chrome 并重新加载了它。缓存还在。正是我离线浏览所需要的
现在这与本地存储有何不同?试图找出不同之处,但所有站点都有目的地回答,即用于模板缓存的 AppCache 和用于模板内内容的本地存储。
某些站点不喜欢 AppCache,因为它会为单行更改重新加载整个缓存。某些站点只喜欢本地存储。虽然有些人选择 AppCache(template) 和 Localstorage 的组合。
现在的疑问是:
客户端计算机上的本地存储。如果即使浏览器关闭我仍然可以访问它,AppCache 存储有什么不同。
因为清除缓存会清除 AppCache,所以我只选择本地存储。
离线浏览的最佳实践是什么?我对此完全陌生,需要对此有所了解
编辑
链接 (Is AppCache = Application Cache = Web Storage's LocalStorage?) 没有回答这个疑问,因为这会产生差异,但不是基于离线浏览实践的目的(这是这个疑问的目的)。
【问题讨论】:
-
您链接到的问题非常清楚地解释了为什么这些不同。您是否需要澄清一些具体的问题?
-
是的,对于本地存储,即使浏览器关闭,它也会长时间存储数据。对于 AppCache,它用于将整个 Web 应用程序存储在浏览器中,即使客户端根本没有互联网连接也可以使用。但是为了设置离线浏览,我打算只使用本地存储,而有些人建议 AppCache 是网站模板部分的方式
-
我认为它们都可以用于您的目的。区别主要在于您如何使用它。 LocalStorage 可以更加灵活,因为它是通过编程方式控制的,而 AppCache 使用静态清单文件来声明应该如何缓存以及缓存什么。使用 AppCache 比使用 LocalStorage 只考虑缓存更容易。您需要做的就是列出需要缓存的内容,并且您可以定义诸如回退之类的内容。所有逻辑部分都留给浏览器。
标签: javascript html local-storage html5-appcache cache-manifest