HTML5缓存(清单)网络部分

时间:2010-07-19 10:46:26

标签: html5

我想知道HTML5 Cache Manifest的网络部分的用途是什么?

来自offline resource in firefox

  

在线白名单可能包含零   或更多网络资源的URI   应用程序将需要访问   服务器而不是离线   缓存。这让浏览器了   安全模型保护用户免受   潜在的安全漏洞   限制访问仅限于批准   资源

我想知道为什么这是必需的。不会缓存未在缓存清单的显式部分中列出的文件吗?

1 个答案:

答案 0 :(得分:1)

我理解(从阅读Dive Into HTML5)当有清单的应用程序尝试从不同的域请求文件时,如果它们列在NETWORK部分中,它可能只会这样做。即使在线,网络部分中未列出的任何内容也似乎无法访问。这可能是指引用“通过限制对已批准资源的访问来保护用户免受潜在安全漏洞”的含义“ - 您可以使Web应用程序脱机以将其与网络的其余部分隔离并防止交叉网站脚本。

这似乎是一些奇怪的规则。并且看起来NETWORK中列出的本地文件与根本没有列出的文件之间存在很大差异。 (正如您所说,我不明白为什么您需要在NETWORK中列出一些内容以确保每次都要求它;当然每次都会请求任何未明确缓存的内容。)

另外我注意到Chrome(但不是Firefox)在NETWORK中明确列出的文件在离线时不会回退到离线FALLBACK网址;他们只是导致错误。这可能只是Chrome的一个怪癖。