什么是应用程序缓存(Application Cache)?


本文摘自PHP中文网,作者零下一度,侵删。

起源

html5之前的网页,都是无连接,必须联网才能访问,这其实也是web的特色,这其实对于PC是时代问题并不大,但到了移动互联网时代,设备终端位置不再固定,依赖无线信号,网络的可靠性变得降低,比如坐在火车上,过了一个隧道(15分钟),便无法访问网站,这对于web的伤害是很大的,比如对于 《ecmascript合集》这样的为阅读而生的页面。
html5便引入了cache manifest 文件。那么什么是cache manifest呢,接下来会讲到。

什么是应用程序缓存(Application Cache)?

HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。
应用程序缓存为应用带来三个优势:

离线浏览 - 用户可在应用离线时使用它们

速度 - 已缓存资源加载得更快

减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。

支持版本

主流浏览器皆支持,IE8 IE9除外。

离线存储技术

HTML5提出了两大离线存储技术:localstorage与Application Cache,两者各有应用场景;传统还有离线存储技术为Cookie。

经过实践我们认为localstorage应该存储一些非关键性ajax数据,做锦上添花的事情;

Application Cache用于存储静态资源,仍然是干锦上添花的事情;

而cookie只能保存一小段文本(4096字节);所以不能存储大数据,这是cookie与上述缓存技术的差异之一,而因为HTTP是无状态的,服务器为了区分请求是否来源于同一个服务器,需要一个标识字符串,而这个任务就是cookie完成的,这一段文本每次都会在服务器与浏览器之间传递,以验证用户的权限。

所以Application Cache的应用场景不一样,所以使用也不一致。

Application Cache简介

Application Cache的使用要做两方面的工作:

① 服务器端需要维护一个manifest清单

② 浏览器上只需要一个简单的设置即可

1

<html  manifest="demo.appcache">

以例子做说明:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

CACHE MANIFEST

CACHE:

# 需要缓存的列表

style1.css

1.jpg

01.js

http://localhost/applicationcache/02.js

http://localhost/applicationcache/zepto.js

NETWORK:

# 不需要缓存的

4.jpg

FALLBACK:

# 访问缓存失败后,备用访问的资源,第一个是访问源,第二个是替换文件*.html /offline.html

2.jpg/3.jpg

首先我这里报了一个错:

1

Application Cache Error event: Manifest fetch failed (404)

这个错误的原因是:manifest 文件需要配置正确的 MIME-type,即 "text/cache-manifest"。必须在 web 服务器上进行配置,不同的服务器不一样

1

2

3

4

5

6

7

8

9

10

11

12

13

\APPLICATIONCACHE

    01.js

    02.js

    1.jpg

    2.jpg

    3.jpg

    4.jpg

    demo.appcache

    index.html

    style1.css

    style2.css

    web.config

    zepto.js

这样一来便可以离线应用了,这个时候就算断网了,那些文件依旧能访问

阅读剩余部分

相关阅读 >>

哪些浏览器支持HTML5

使用html和css的新特性实现响应式布局

HTML5中如何使用rel属性的预加载功能?

如何让HTML5手机端弹出遮罩菜单特效

怎样用h5预览pdf格式的文档

详细分析HTML5 formdata对象的使用

如何使用HTML5 shiv解决ie不兼容HTML5标签的方法

h5 video标签用法的实例代码

分享利用HTML5实现图片压缩上传的实例代码

可替换元素是什么?(附示例)

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...