html5的 app cache会不会有一个坑

来源:互联网 发布:淘宝借呗怎么才有 编辑:程序博客网 时间:2024/04/28 19:28

浏览器同时提供了appcache与browsercache,如何及时准确的将服务器上的更新的内容同步到用户的客户端上将会变得非常复杂。

目前浏览器支持的缓存主要有两种: 一种是传统的浏览器cache,简称browser cache; 另一种是HTML5引入的离线缓存Application cache。它们之间主要有以下区别: 
    两者的目的不一样。App cache主要针对特有的web app,然而browser cache适应于所有的web页面。
    Browser cache将缓存非常多的任何页面,然而app cache将只缓存manifest文件中指定的页面。
    Browser cache是不可靠的,开发者不知道哪些页面和页面中的资源文件已经被缓存。App cache允许开发者对缓存有更多的控制。
    标准制定者不一样。App cache是W3C制定的规范。浏览器缓存的策略主要由HTTP消息中各种Cache-Control缓存指令来去顶,HTTP规范由IETF组织来制定。
需要注意: 多个页面可以共享一个app cache。


App cache与browser cache混合在一起会使更新机制变得复杂,主要有以下几个因素: 
1) App cache在各浏览器平台实现上存在差异;
2) 各浏览器又提供了不同的页面刷新机制;
3) app cache还与传统的browser cache有着千丝万缕的联系;对于它俩如何协同工作,HTML5的相关规范没有对app cache的细节给出非常明确的规定; 浏览器官方文档有没有给出非常明确的说明。
4) browser cache的更新机制本身就已经很复杂。