我已经浏览过html5rocks,mozilla开发人员doc。这些定义非常令人困惑。任何人都可以用简单的方式解释这个吗?
我不确定为什么我们甚至需要appcache清单文件中的NETWORK部分。我认为它与在CACHE部分没有条目一样好。
NETWORK Mozilla:
缓存清单中NETWORK:section标题下列出的文件 文件是列入白名单的资源,需要连接到 服务器。 对此类资源的所有请求都会绕过缓存,即使是 用户离线。通配符*可以使用一次。大多数网站 需要*。
NETWORK HTML5Rocks:
如果不是,则本节中列出的文件可能来自网络 在缓存中,否则网络未被使用,即使用户是 在线的。您可以在此处列出特定的网址,或者只是“” 允许所有网址。大多数网站都需要“”。
答案 0 :(得分:2)
NETWORK:
是要求用户在线的资源。
来自http://www.html5rocks.com/en/tutorials/appcache/beginner/
NETWORK:
如果本节中列出的文件不在缓存中,则可能来自网络,否则即使用户在线,也不会使用该网络。您可以在此处列出特定网址的列表,或者只是" *",它允许所有网址。大多数网站需要" *"。
一般做法是使用CACHE
部分定义应缓存哪些资源,然后使用带有NETWORK
通配符的*
部分来默认所有其他资源以要求用户在线
示例:
CACHE:
# These resources will be downloaded once to be cached on the client.
# After they are cached, even if the user has a network connection,
# they will not re-download these resources, but instead use their local
# cached copies instead.
/favicon.ico
/index.html
/images/banner.html
# This section will explicitly tell the client "every other resource"
# requires a network connection.
NETWORK:
*
那么为什么要明确地告诉客户端每个其他资源都需要网络连接?
http://alistapart.com/article/application-cache-is-a-douchebag#section7问题#5将解释这一点。
如果您缓存index.html而不是cat.jpg,即使您在线,该图片也不会显示在index.html上。
你可以在这里看到他们的演示:http://appcache-demo.s3-website-us-east-1.amazonaws.com/without-network/