在Html5中,提供了一种叫
Application Cache
应用程序缓存的技术,通俗解释就是,通过一个文本文件可以告诉浏览器,我这个网页中的资源,哪些本地有就直接用本地,哪些必须要去网络拉取。
需求要的其实就是离线资源使用,本地缓存,如果有缓存,就能提升页面访问速度,节省流量,也能减少服务端负载,进而节省带宽费用。
怎么使用app cache呢?简单的很,我简单抛个砖,需要高级用法,请自行查询。
首先你要写一个后缀名为.appcache的描述文件,假设命名为guoguo.appcache,我们直接看例子讲解:
这个文件中,第一行CACHE MANIFEST下面的三个文件guo.css,banner.png,jquery.js就表示这三个文件如果本地有,就使用本地资源,否则去云端拉取服务器资源,如果发布一个版本之后,理论上一个用户只有第一次会拉取。
NETWORK下面的user.html表示不接受缓存,而必须每次都从云端拉取的资源,这种资源往往是每次都动态变化的。
下面我们要开始使用这个文件来告诉浏览器了,只要在网页文件头部声明就可以了:
通过html标签的manifest属性赋值,就将此配置文件应用到我的网页上了,也就是这个网页经过配置文件的声明,后面就按照配置文件的声明来拉取或者使用资源了。
从上面的例子可知,一个png图片,一个css文件,还有一个js文件,如果版本没有变化,这三个文件对于一个用户来说,只拉取一次,只耗费一次流量,并且每次从本地装载速度完爆网络速度。
总结:app cache天生是为了节省流量,加快网页访问速度,节省带宽,提供离线功能而设计的新技术,Ta能针对一个网站的资源进行配置,是可以称得上比较灵活的技术。
如果你听过它,未来才有可能想到它。
也许你发现了,app cache必须要靠更新.appcache文件才能对网页进行重新配置,W3C目前提供了一种更为灵活的可编程的离线缓存模式称为“Service Worker”,这种就更为灵活,不是一种app cache的配置模式,而是可编程的哦,这样你就能尝试各种姿势了。
文章来源:公众号:给产品经理讲技术(ID:pm_teacher)
文章作者:果果