美文网首页
HTML5的离线储存怎么使用?

HTML5的离线储存怎么使用?

作者: xiaoyudesu | 来源:发表于2017-05-16 22:00 被阅读0次

    1.背景介绍

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

    网页必须在有网时才能使用,HTML5引入了应用程序缓存,这意味着web应用可进行缓存,并可在没有因特网连接时进行访问。

    2.知识剖析

    a.使用方法:

    在html标签中引入manifest文件:

    这个文件中存储了服务器希望缓存的文件列表:

    manifest文件结构

    b.更新缓存:

    在有网时,以下条件触发缓存的更新

    1.用户清空浏览器缓存

    2.manifest文件被修改

    3.由程序来更新应用缓存

    c.缓存流程:

    利用一个manifest清单文件告知服务器需要离线的网页文件。

    在第一次访问网站时服务器响应manifest文件进行缓存。

    在第二次访问该网址时,检测是否达到更新缓存的条件,否则直接使用缓存文件(即使你修改了服务器上的文件)。

    d.注意

    HTML5应用缓存特性已经从Web标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

    点击查看详情

    3.常见问题

    离线存储有什么优缺点?

    优点

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

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

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

    缺点

    1.更新的资源,需要二次刷新才会被页面采用

    2.不支持增量更新,只有manifest发生变化,所有资源全部重新下载一次

    3.缺乏足够容错机制,当清单中任意资源文件出现加载异常,都会导致整个manifest策略运行异常

    4.编码实战

    这里是一个离线存储的demo

    demo

    5.扩展思考

    存储网页数据的方式?

    1.localStorage-没有时间限制的数据存储(永久),对于同一个浏览,当用户关闭浏览器窗口后,数据不会被删除。

    2.sessionStorage -针对一个session的数据存储(sesion/),当用户关闭浏览器窗口后,数据会被删除。

    3.cookie:不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得cookie速度很慢而且效率也不高。

    6.参考文献

    1.参考一:慕课网-manifest

    2.参考二:MDN-manifest

    3.参考三:知乎-关于前端缓存优化,为什么没人用manifest?

    相关文章

      网友评论

          本文标题:HTML5的离线储存怎么使用?

          本文链接:https://www.haomeiwen.com/subject/tjlrxxtx.html