ht-candywebcache-android 移动端 Web 资源缓存解决方案开源项目

我要开发同款
匿名用户2017年05月25日
49阅读
开发技术JavaC/C++
所属分类手机/移动开发
授权协议GPL

作品详情

移动端Web资源的本地缓存解决方案,能够拦截webview的请求,并优先使用本地缓存静态资源进行响应,以此来对webview加载页面性能进行优化。

特点:

协议层拦截请求,透明替换响应

静态资源版本控制及更新策略

资源防篡改策略

静态资源自动打包到应用,及首次安装解压处理

系统要求

该项目支持最低AndroidAPILevel14。

CandyWebCache客户端SDK对服务器的要求

提供给客户端SDK的接口:

版本检测接口,返回信息包括

请求的webapp对应的增量包和全量包信息:版本号、下载地址、md5、url、domains

请求中不包含的webapp则返回全量包信息:版本号、下载地址、md5、url、domains

提供给应用服务器的接口:

更新全量包

根据全量包和历史N(N可配置)个版本的包进行diff包计算

计算各个资源包的md5,并加密md5值

上传增量包和全量包到文件服务,并记录各个包的md5、资源url、版本号信息、domains

服务端功能要求:

计算资源包diff包(使用bsdiff)

上传资源到文件服务器

资源md5计算与加密(加密算法:DES+base64,客户端对称加密秘钥目前是埋在客户端代码中)

webappdomains的配置

CandyWebCache客户端SDK对打包方式的要求

打包资源包目录路径要跟url能够对应,如 https://m.kaola.com/public/r/js/core_57384232.js ,资源的存放路径需要是 public/r/js/core_57384232.js 或者 r/js/core_57384232.js。

资源缓存不支持带“?”的url,如果有版本号信息需要打到文件名中。对于为了解决缓存问题所采用的后缀形式url,如 https://m.kaola.com/public/r/js/core.js?v=57384232 ,需要调整打包方式,采用文件名来区分版本号。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论