Html5应用程序缓存(Cache manifest)
程序员文章站
2023-11-12 09:30:04
这篇文章主要介绍了Html5应用程序缓存(Cache manifest)的相关资料,可以优化加载速度,节约服务器资源。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧... 18-06-04...
一、作用
离线浏览 - 根据文件规则把资源缓存在本地,脱机依然能够访问资源,联网会直接使用缓存在本地的文件。优化加载速度,节约服务器资源。
二、适用场景
正如 manifest 英译的名字:离线应用程序缓存,这项功能是设计给会有离线场景的应用来使用,例如:需要离线使用的手机app/h5,亦或是pc端的纯静态页面。
三、问题
1.服务器资源更新后显示滞后需要多刷新一次页面
- 首次在载入页面时,浏览器会判断是否引入了 manifest,若检测到引入,则下载并按文件规则缓存资源。
- 再次载入页面时,便会根据 manifest 中规定的缓存文件使用本地缓存而不是请求服务器资源。
- 当 manifest 文件更新时,页面加载已经进行,但是缓存更新尚未完成,便会先使用旧 manifest 所缓存的文件,同时浏览器会将新的 manifest 文件里的缓存文件下载下来,若想看到最新的静态资源需要刷新下页面重新加载一次。
2.全量加载
当 manifest 文件更新时,所有的资源都要全部被下载一次,并且其中一个出现异常会导致整个 manifest 运行异常。
3.w3c标准及浏览器支持
作为 h5 的新属性,初衷是用来构造离线应用的,缓存网站资源的话原本浏览器的缓存机制(304)已经很好了,没必要再使用 manifest 做缓存;实际上因为使用反响并不好,w3c正在废弃 manifest。
四、使用方法
首先在标签 <html> 中指定 manifest 配置文件。
<html manifest="manifest.appcache">
配置文件 manifest.appcache。
cache manifest # 井号备注,这边可以放版本更新时间,修改备注算更新 manifest 文件 cache: # 首次下载 cache 后列出来的文件后缓存到本地。 /favicon.ico /main.css network: # network 下的文件不可被缓存,必须要与服务器连接。 login.php fallback: # 一行放两个路径,第一个是访问资源,第二个是替补;当无法访问前一个资源时,用后一个资源代替之。 /cat/ /404.html
注意
manifest 会把当前页面缓存下来,所以若想更新当前页,只能先更新 manifest 文件。
五、总结
manifest 适用于需要离线运行的应用(定时器,计算器,阅读器等工具);而需要经常发布频繁更新的网站,这种离线缓存机制并不适合。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇: 简单谈谈我的Android屏幕适配之路
推荐阅读
-
Html5应用程序缓存(Cache manifest)
-
HTML5 manifest离线缓存的示例代码
-
详解HTML5中的manifest缓存使用
-
Html5应用程序缓存(Cache manifest)
-
对于HTML5应用程序缓存Application Cache的知识点详解
-
HTML5应用程序缓存(Application Cache)
-
HTML5 manifest离线缓存的示例代码
-
一分钟学会html5缓存之manifest文件_html/css_WEB-ITnose
-
HTML5 应用程序缓存(Application Cache)
-
如何不让html5 app cache的manifest缓存当前页面?