HTML5的应用缓存

Posted 前端精髓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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缓存,遇到突发网络故障或者服务器故障,继续访问本地缓存。


运行时的流程图

HTML5的应用缓存


manifest 文件


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


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


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


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


如何更新缓存


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


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

window.applicationCache.update();


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


End

以上是关于HTML5的应用缓存的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 应用程序缓存

HTML5的应用缓存

HTML5的应用缓存

HTML5 应用程序缓存

HTML5-应用程序缓存(Application Cache)

HTML5应用程序缓存Application Cache