【问题标题】:HTML5 cache manifest: what exactly does it do? the documentation is unclearHTML5 缓存清单:它到底是做什么的?文件不清楚
【发布时间】:2010-07-24 10:56:42
【问题描述】:

从我读过的缓存清单的描述(例如http://www.w3.org/TR/offline-webapps/#offline 和其他地方)中,我不清楚这个文件的作用。我会解释我发现不清楚的地方。

标题名称(“离线 Web 应用程序”)表明缓存清单仅与离线场景相关;缓存清单定义为

     "The mechanism for ensuring Web applications are available 
     even when the user is not connected to their network" 

但是缓存清单对在线使用有什么影响吗?似乎是这样。该文件包含一个 NETWORK 部分,并且那里列出的文件(有时我看到它被描述为那里列出的 last 文件)不会进入缓存;他们

       "...should never be cached, so that any attempt to access that file will bypass the cache."

“绕过缓存”在 离线 上下文中意味着什么?但是如果用户在线,NETWORK部分中列出的文件是否总是从服务器获取的,即使它们之前已经被缓存了?

添加到网络部分的文件被称为“白名单”。通常,将某些东西列入白名单意味着允许它。实际上,这些文件被列入黑名单——即不允许进入缓存。

此页面在许多其他文档中被逐字复制或释义,因此原件不完​​美的清晰度被永久保留。

所以,我的问题是:有人可以提供关于缓存清单服务目的的权威、清晰和简明的定义,并举例说明如何设置缓存过期策略,例如在 12 月 31 日午夜使内容过期, 2010. 在 HTML5 中,以声明方式 是否可以实现 future-expiration?

谢谢

【问题讨论】:

    标签: caching html manifest


    【解决方案1】:

    清单中列出的缓存文件将始终从应用程序缓存中提供,无论您是在线还是离线。浏览器将始终首先在应用程序缓存中查找从清单覆盖的页面请求的任何资源,因此术语“绕过缓存”。然后可以将网络白名单视为一组文件,浏览器将跳过检查应用程序缓存以获取资源的步骤。

    使应用程序缓存中的项目过期的唯一方法是更改​​清单文件。应用程序缓存中的文件未来不可能过期,更新清单文件后,您将始终依赖连接到您网站的用户。

    【讨论】:

      猜你喜欢
      • 2015-06-16
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      相关资源
      最近更新 更多