离线应用包含一个 manifest 清单文件,此文件中列出了浏览器为离线应用缓存的所有资源。实际上, manifest
文件是一个文本文件,它罗列了离线访问应用时所需缓存的文件清单。
引用 manifest 文件的页面,不管有没有罗列清单,都会被缓存。
如需启用应用程序缓存,请在文档的 <html>
标签中包含 manifest
属性。每个指定了 manifest 的页面在用户对其访问时都会被缓存。如果未指定 manifest 属性,则页面不会被缓存(除非在 manifest
文件中直接指定了该页面)。
当然,这个 manifest 的文件路径用绝对路径和相对路径都可以,甚至可以引用其它服务器上的 manifest
文件。该文件所对应的 mime-type 应该是 text/cache-manifest
,所以需要配置服务器来发送对应的 MIME 类型信息。
manifest
文件的 MIME 类型是 text/cache-manifest
。
text/cache-manifest
,配置方法是打开
PYTHON_HOME/Lib/mimetypes.py 文件并添加一行代码 '. manifest': 'text/cache-manifest
manifest';Manifest 文件内容的基本格式要求
先写 CACHE MANIFEST ,然后换行,每行单列资源文件,每行的换行符可以是 CR 、 LF 或者 CRLF ,格式很灵活,但文本编码格式必须是 UTF-8
。 UTF-8
是多数文本编辑器经常输出的编码格式。
manifest 文件是简单的文本文件,它告知浏览器被缓存的内容(以及不缓存的内容)。 manifest 文件可分为 3 个部分。
其中以 #
开头的是注释行。应用的缓存会在其 manifest 文件更改时被更新。如果编辑了一幅图片,或者修改了 JavaScript
函数,这些改变都不会被重新缓存。更新注释行中的日期和版本号也是一种使浏览器重新缓存文件的办法。
浏览器对缓存数据的容量限制可能不太一样(某些浏览器设置的限制是每个站点 5MB )
创建一个以 manifest 为扩展名的文件,命名为 cacheData.manifest ,在这个文件中将指定一些文件的路径,如 HTML 、 CSS 、 JavaScript 、 Images
如果需要,用户还可以添加以下内容
增加备份,这些文件的路径必须在 FALLBACK: 的下一行
#
表示注释行标识符,但它还有一个小作用。 Web 应用的缓存只有在 manifest 文件被修改的情况下才会被更新,所以如果只是修改了被缓存的文件,那么用户本地的缓存还是不会被更新的,但是可以通过修改 manifest 文件来告诉浏览器需要更新缓存。利用这点,可以更新注释
3 个好处