在html5中使用application cache可以把一些静态资源保存在客户端的浏览器上面。这样可以提高访问的速度,甚至是离线应用。关于application cache的优缺点:
1.离线浏览 - 用户可在离线时浏览您的完整网站
2.速度 - 缓存资源为本地资源,因此加载速度较快
3.服务器负载更少 - 浏览器只会从发生了更改的服务器下载资源
[参考文章](http://www.html5rocks.com/zh/tutorials/appcache/beginner/)
manifest
使用appcache我们需要维护一份列表。文件名称随便去,不过后缀有规定.appcache然后在html标签上引用
<html manifest="example.appcache">
</html>
文件分为4部分
CACHE MANIFEST
这里的文件将会在客户端缓存
NETWORK
这里的文件不会在客户端缓存
FALLBACK
这里是一个替换的资源,当访问资源失败的时候自动使用这里的资源
示例
CACHE MANIFEST
Site.css
NETWORK:
FALLBACK:
一些坑
以上这些呢,其实没啥太大的价值,都是其他地方搬过来的。如果你以为安装上面的步骤就能happy的使用appcache的话,那就错了。
MIME
使用appcache需要在服务器上配置MIME。不然客户端无法读取.appcache的列表文件。
如果你使用VS来调试,那么需要更改IIS Express的配置文件。
C:UsersusernameDocumentsIISExpressconfigapplicationhost.config
打开这个配置文件,找到mimeMap配置节点添加一个节点。
<mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" />
NETWORK
上面说了,这个节点指定不缓存的资源。如果你不填的话,很有很多资源下载不下来。你得这样:
NETWORK:
*
写上*通配符,告诉客户端,除了上面的Cache列表,其他资源都不缓存。
Remove AppCache
当你不想要Appcache的时候,你以为只要把html tag的manifest移除就可以,那你就错了。你要把.appcache列表文件从服务器删除。这样才能真正的移除appcache功能。