使用缓存控制标头的离线Web应用程序?

时间:2016-03-03 21:02:57

标签: html5 mobile-safari html5-appcache

您好我们有一个移动应用程序(iOS和Android)需要使用嵌入式UIWebView或WebView显示一些网页。这些页面需要支持7-10天的离线浏览。我们正在考虑两种选择 - AppCache和cache-control标题:

cache-control: max-age=604800

我们使用两种方法运行了许多概念证明。这两种方法似乎都能满足我们的需求。缓存控制似乎有一点点优势,我们可以使用通配符为所有JS,CSS和图像文件在Web服务器配置中设置其值。我们需要单独列出每个文件。

说了这么多,我发现没有人试图使用cache-control构建离线应用。几乎所有文章和博客文章都使用AppCache。这里有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

使用EditableString进行离线操作的一个问题是,用户需要在离开前访问应用中的所有网页,否则他们不会在下次访问时进行缓存。应用缓存列出了所有必需的页面并立即缓存它们。

cache-control也不是为了支持离线应用程序而设计的(看起来似乎),而且还有一些问题,例如浏览器无法从some circumstances的缓存中加载。因此,您无法保证浏览器在离线时不会尝试发送资源请求(导致页面显示网络故障)。

基本上,如果您希望它可靠地工作,您应该使用App Cache或Service Workers。