我正在阅读HTML5 5的应用缓存清单(特别是来自这篇优秀的文章)的详细信息。我很好奇这个想法会不会奏效:
我们将所有静态资源(脚本、css、字体、图像)托管在子域中的CDN上(例如,cdn.example.com和app在www.example.com上)。也可以在CDN上托管应用程序缓存清单吗?例如,
<!doctype html>
<html manifest="http://cdn.example.com/appcache.manifest">
...
<script src="http://cdn.example.com/foo.js"></script>
...
</html>如果是,清单清单是否可以来自CDN根?例如,在清单中:
CACHE MANIFEST
/foo.js有没有人有这方面的经验和/或知道任何警告?
编辑:是WHATWG规范的工作草案,它写着"脱机应用程序缓存清单可以使用绝对路径,甚至绝对URL。“,然后给出了一个用于图像的CDN示例。
发布于 2012-04-15 04:11:35
我用我的清单进行了测试(在实际示例中)
CACHE MANIFEST
# 2010-06-20:v1
iscroll.js
http://peach.blender.org/wp-content/uploads/big_big_buck_bunny.jpg这对我有用..。您可以使用验证器http://manifest-validator.com/检查您的清单。
W3C只说文档(具有清单属性的HTML)必须与清单来源相同,他们不告诉URL资源必须太.你应该仔细阅读(在这里)。我还在W3示例(检查这里)中找到了跨站点URL,这意味着它的工作正常.
最后,不尝试将清单文件放在CDN上,只需将其放在服务器中并将资源链接到CDN。清单文件必须与包含其HTML文件的主条目具有相同的来源,浏览器检查清单文件以查看其HTML页面列表是否已更改,而不是检查HTML页是否指向不同的清单文件。
发布于 2011-09-20 12:57:30
缓存的内容必须满足相同的原产地限制,比较的来源由调用页( HTML页)确定。如果所有要缓存的资源都有不同的主机名,那么根据规范,它们应该被拒绝。因此,即使可以指定cdn上的清单而不是主主机,缓存也会失败。
https://stackoverflow.com/questions/7479319
复制相似问题