AppCache

来源:互联网 发布:网络没问题游戏上不去 编辑:程序博客网 时间:2024/06/13 13:09

AppCache

目前,app的开发方式有很多,可以采用原生开发,应用运行快,流畅,但是如果涉及iOS、安卓等操作系统,开发成本较高;也可以采用混合是开发等等;越来越多的移动端采用web技术解决跨平台、快速部署及发布的问题,但基于web技术的应用对网络有较强的依赖性,因此,为了解决web离线缓存问题html提出AppCache。

一、AppCache是什么?
官方的介绍“AppCache 在 HTML5 规范中进行定义,通过它可创建脱机 Web 应用程序。AppCache 使网页能够在本地缓存(或保存)资源,包括图像、脚本库和样式表等。此外,AppCache 还允许使用标准的统一资源标识符 (URI) 表示法从缓存内容中提供 URL。”

正如上所说--AppCache,即应用程序缓存,请求的文件是从本地获取的而非网络。

二、AppCache好处
用户体验--使用AppCache可以离线访问资源,用户可离线浏览,
速度--使用缓存的资源加载更快
服务器负载--只从服务器下载变更的资源,减少其负载

三、AppCache不足
AppCache设计初衷是把能离线的文件缓存到本地,以供离线时能正常查看 ,但对在线更新并未提供太多机制和优化方案。html5 AppCache虽然没有提供太多定制, 但我们可以根据不同应用场景提供不同的优化方案:

比如针对hybrid方案,可改进点:
1、 对manifest文件更新,会重新请求所有文件,实际上可能只更新了很少量文件。( 虽然重新请求资源会返回304, 但每个文件还会发起请求)
      针对此点可以只更新需要更新的文件, 比如可以建立一个文件版本或者MD5映射,对相同版本或者MD5不再请求
2.  manifest文件每次都会请求,我们可以按照一定时间更新一次,或者启动时更新一次,以减少manifest文件更新次数
3.  对hybrid方案还可以在打开app之前预缓存,提前下载文件或者更新manifest文件。

原创粉丝点击