本地缓存manifest文件详解

Web应用程序的本地缓存是通过每个页面的manifest文件来管理的。manifest文件是一个简单文本文件,在该文件中以清单的形式列举了需要被缓存或不需要被缓存的资源文件的文件名称,以及这些资源文件的访问路径。你可以为每一个页面单独指定一个manifest文件,也可以对整个Web应用程序指定一个总的manifest文件。下面为manifest文件一个示例,该文件来hello.html网页的manifest文件,我们用这个示例来对manifest文件做一个详细介绍:
———————————
      CACHE MANIFEST
      #文件的开头必须要写CACHE MANIFEST
      #这个manifest文件的版本号
      #version 7
      CACHE:

      other.html
      hello.js
      NETWORK:
      http://yiiyaa/NotOffline
      NotOffline.php
      *
      online.js locale.js
      CACHE:
      newhello.html
      newhello.js
———————————
      在manifest文件中,第一行必须是"CACHE MANIFEST"文字,以把本文件的作用告知浏览器,即本地缓存资源文件进行具体设置。同时,真正运行或测试离线Web应用程序的时候,需要对服务器进行配置,让服务器支持text/cache-manifest这个MIME类型(在HTML5中规定manifest文件的类是text/cache-manifest)。例如对Apache服务器进行配置的时候,需要找到{apache_home}/conf/mime.type这个文件,并在文件最后添加如下代码:
      text/cache-manifest manifest
      在微软IIS服务器的如下所示:
      1)右键选择默认网站或需要添加类型的网站,弹出属性对话框。
      2)选择“HTTP头”标签。
      3)在MIME映射下,单击文件类型按钮。
      4)在打开的MIME类型对话框中单击新建按钮。
      5)在关联扩展文本框中输入“manifest”,在内容类型文本框中输入"text/cache-manifest",然后单击确定按钮。
      在manifest文件中,可以加上注释来进行一些必要的说明或解释,注释行以“#”文字开头。
      在manifest文件中最好加一个版本呈,以表示这个manifest文件的版本。版本号可以是任何形式,譬如上面的“version 20110802522121”,更新manifest文件的时候一般也会对这个版本号进行更新。
      接下来,指定资源文件,文件路径可以是相对路径,也可以是绝对路径。指定时每个资源文件为一行。
      在指定资源文件的时候,可以把资源文件分为三类,分别是CACHE、NETWORK、FALLBACK.
      1)在CACHE类别中指定需要被缓存在本地的资源文件。为某个页面指定需要在本地缓存的资源文件时,不需要把这个页面本身指定在CACHE类别中,因为如果一个页面具有manifest文件,浏览器会自对这个页面进行本地缓存。
      2)NETWORK类别为显示指定不进行本地缓存的资源文件,这些资源文件只有当客户端与服务器端建立连接的时候才能访问。本示例该类别中的“*”为通配符,表示没有在本manifest文件中指定的资源文件都不进行本地缓存。
      3)FALLBACK类别中每行中指定两个资源文件,每一个资源文件为能够在线访问时使用的资源文件,第二个资源文件为不能在线访问时使用的备用资源文件。
      每个类别都是可选。但是如果这些开头没的指定类别而直接书写资源文件的时候,浏览器把这些资源文件视为CACHE类别,直到看见文件中第一个被书写出来的类别为止。例如,下面的代码,浏览器会把NETWORK类别之前的文件都视为CACHE类别。
————————-
      CACHE MANIFEST
      #此处没有写明CACHE类别
      other.html
      hello.js
      images/myphoto.jpg
      NETWORK:
      http://yiiyaa/NotOffline
      NotOffline.php
————————-
      允许在同一个manifest文件中重复书写同一类别,如下代码:
————————-
      CACHE MANIFEST
      CACHE:
      other.html
      hello.js
      NETWORK:
      http://yiiyaa/NotOffline
      NotOffline.php
      //追加CACHE类别中的内容
      CACHE:
      images/myphoto.jpg
————————-
      为了让浏览器能够正常访问文本文件,需要在Web应用程序页面上的HTML标签的manifest属性中指定manifest文件的URL地址。指定方法如下所示:
      <!—-你可以为每个页面单独指定一个manifest文件—>
      <html manifest="hello.manifest">
      …
      </html>
      <!—-也可以为整个Web应用程序指定一个总的manifest文件—>
      <html manifest="global.manifest"?
      …
      </html>
      通过这些步骤,将资源文件保存到本地缓存区的基本操作就完成了。当要对本地缓存区的内容进行修改时,只要修改manifest文件就可以了。文件修改后,浏览器可以自动检查manifest文件,并自动更新本地缓存区中的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值