HTML5的应用缓存

HTML5的应用缓存(application cache),或者简称为appcache,是专门为开发离线Web应用而设计的。

Appcache就是从浏览器的缓存中分出来的一块缓存区。要想在这个缓存中保存数据,可以使用一个描述文件(manifest file),列出要下载和缓存的资源。下面是一个简单的描述文件示例。

CACHE MANIFEST

# version 20200105

CACHE:

base.css

NETWORK:

*

NETWORK:

*

FALLBACK:

404.html

在最简单的情况下,描述文件中列出的都是需要下载的资源,以备离线时使用。

要将描述文件与页面关联起来,可以在 <html> 中的 manifest 属性中指定这个文件的路径,例如:

<html manifest=”/offline.manifest”>

它是浏览器自己的一种机制,随着移动互联网时代的到来,网络可靠性降低,如果我们已经将需要的文件缓存下下来,一旦网络无法访问,也能继续访问。

而且做好相应资源的缓存可以带来更好的用户体验,当用户使用自己的流量上网时,本地缓存不仅可以提高用户访问速度,而且大大节约用户的使用流量。

Manifest 的特点

  1. 离线浏览:即当网络断开时,可以继续访问你的页面。

  2. 访问速度快:将文件缓存到本地,不需每次都从网络上请求。

  3. 稳定性:做了Manifest缓存,遇到突发网络故障或者服务器故障,继续访问本地缓存。

运行时的流程图

manifest 文件

而第一行CACHE MANIFEST为固定格式,必须写在前面。

CACHE(必须) 标识出哪些文件需要缓存,可以是相对路径也可以是绝对路径。这里列举出来的文件,当第一次加载下来时,会被浏览器缓存在本地。

NETWORk (可选) 这一部分是要绕过缓存直接读取的文件,可以使用通配符 *,大多数网站使用 * 。当使用* 时 表示出 CACHE指定文件外,其它所有页面都需要联网访问。

FALLBACK  (可选) 当资源无法访问时,浏览器使用后备资源去替代。比如404页面。

如何更新缓存

如下三种方式,可以更新缓存:更新manifest文件,通过javascript操作,清除浏览器缓存。

html5中引入了js操作离线缓存的方法,下面的js可以手动更新本地缓存。

window.applicationCache.update();

如果用户清除了浏览器缓存(手动或用其他一些工具)都会重新下载文件。

End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值