HTML5 AppCache:有人可以在清单文件中解释NETWORK部分的用途吗?

时间:2015-04-18 19:34:21

标签: html5 caching html5-appcache cache-manifest

我已经浏览过html5rocks,mozilla开发人员doc。这些定义非常令人困惑。任何人都可以用简单的方式解释这个吗?

我不确定为什么我们甚至需要appcache清单文件中的NETWORK部分。我认为它与在CACHE部分没有条目一样好。

NETWORK Mozilla

  

缓存清单中NETWORK:section标题下列出的文件   文件是列入白名单的资源,需要连接到   服务器。 对此类资源的所有请求都会绕过缓存,即使是   用户离线。通配符*可以使用一次。大多数网站   需要*。

NETWORK HTML5Rocks

  

如果不是,则本节中列出的文件可能来自网络   在缓存中,否则网络未被使用即使用户是   在线的。您可以在此处列出特定的网址,或者只是“”   允许所有网址。大多数网站都需要“”。

1 个答案:

答案 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/