移动web app开发-----application cache 离线缓存应用篇

在移动web app应用中,请求数非常昂贵,请求数过多不但耗电,耗流量,同时速度也非常的慢,为了减少请求,加快资源的加载速度,使用application cache,是一个比较不错的方案,下面通过三篇文章来全面的介绍application cache,第一篇为应用篇,第二篇为原理篇,第三篇为高级进阶篇。本篇内容主要包括三个方面
  • manifest文件书写
  • application cache类型
  • application cache状态
     
manifest文件书写

要想使用application cache,首先必须为html标签添加manifest属性,该属性的值【 example.appcache】是一个位于服务器端的文件,一般可以把这个文件叫做manifest文件。
<html manifest="example.appcache"></html> 

example.appcache文件路径可以是绝对路径和相对路径,绝对路径必须和网站同域,它的 MIME类型必须为 text/cache-manifest,文件的格式为utf-8, 文件的基本内容,如下所示:
CACHE MANIFEST
# v1 2011-08-14
# This is another comment
index.html
cache.html
style.css
image1.png

# Use from network if available
NETWORK:
network.html

# Fallback content
FALLBACK:
/ fallback.html
   上面的内容有几个需要主要的地方:
          1. 第一行必须包含 CACHE MANIFEST,这两个单词之间是一个 U+0020这样的空格,后面可以有0个或者多个空格,其余的文本字符都会被忽略
     2. 文件中可以包含空行,注释,片段头和片段数据,这些都是可选的
          空行:可以包含0个或者多个空白或者tab字符。
          注释:以#开头
          片段头: CACHE【要缓存的资源】; NETWORK【必选请求网络的资源】, FALLBACK【当资源请求失败时,需要转向的url】
          片段数据:在CACHE片段中,每一行必须为一个合法的 URI或者 IRI reference to a resource to cache ,每一行的开始或者结束可以有空               格;NETWORK片段中,每一行必须为一个合法的 URI 或者 IRI reference to a resource to fetch from the network ,可以使用【*】通配符;在 FALLBACK片段中, 每一行必须为一个合法的 URI  或者IRI reference to a resource,当网络不可用时,需要跳转的资源。文件中的相对地址是相对example.appcache的地址, 而不是相对于当前文档的地址。
     3.第二行是一个注释,表示是一个版本号,一般会使用一个时间戳,这个版本号不是必须的,但是一般情况下就需要,至于为什么下篇文章会说明。


application cache类型:


Master entries【表示含有manifest属性的文档】
Explicit entries【位于CACHE片段中列举的资源】
Network entries【位于NETWORK片段列举的资源】
Fallback entries【位于FALLBACK中列举的资源】

注意必须至少包含下面一种类型, 同一个资源可以被标记为多种类型

application cache状态:

UNCACHED
表示app cache未被初始化
IDLE
app cache没有在当前更新的进程中。
CHECKING
表示manifest文件正在被获取和检查更新状态。
DOWNLOADING
资源已经被下载,并添加到缓存中,这时还没有更新缓存。
UPDATEREADY
表示一个新版本的app cache可用了,同时会触发一个update ready事件。
OBSOLETE
          所有缓存的资源都已经过时
到此为止application cache的应用相信大家肯定是没有问题的了,那么缓存是如何更新的,我们如何能够知道缓存的状态,带着这些问题,敬请关注下篇文章【application cache 离线缓存原理篇】

感谢:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值