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

GPL
Java C/C++
跨平台
2017-05-25
WolfCS

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

特点:

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

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

  • 资源防篡改策略

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

系统要求

该项目支持最低Android API Level 14。

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

提供给客户端SDK的接口:

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

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

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

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

  • 更新全量包

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

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

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

服务端功能要求:

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

  • 上传资源到文件服务器

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

  • webapp domains的配置

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

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

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

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

基于HT for Web的Web SCADA工控移动应用

在电力、油田燃气、供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex、Silverlight甚至Applet这样的重客户端方案,在HTML5流行前VML和...

2015/03/18 23:34
3K
1
android调用web service接口例子

上一篇虽然简单的介绍步骤,但是感觉还不够,这里再写一个例子,以备后来需要

2015/02/05 14:58
5.2K
0
AndroidStudio试用

新建TestStudio工程, Failed to import new Gradle project: Could not fetch model of type 'IdeaProject' 发现总是提示Download,而且很久,于是进入工程目录,在控制台下运行gradlew.bat文件...

2013/05/17 23:58
3.1K
0
Android调用Axis、Axis2、Cxf发布的web service

在Android中调用axis2发布web service过程中一直报http500错误,axis2 web service是用eclipse插件生成的,发现直接打包成war包或直接在eclipse运行,Android调用的时候会报错,一定要打包成...

05/04 21:13
30
0
Android LinearLayout Why Gravity Not Work

Some Android Developer may not know well of Linearlayout . This may help you to know sth about the gravity of its chilren;...

2015/04/04 17:11
94
0
利用WebService解析出的天气预报

利用WebService解析出的天气预报 事先声明,这个代码是《疯狂android讲义》上的,我只不过动手打了一遍,有些地方是拷贝的 布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout...

2012/10/23 09:05
168
1
基于HTML5技术的电力3D监控应用(三)

继(一)和(二)之后不少,不少网友问我移动终端的使用问题,因为我们项目这次采用Android平板终端,所以我对这方面有点肤浅的研究,这篇分享些项目经验总结,希望对大家有所帮助。 电力3D项...

2013/12/17 14:27
258
0
基于HTML5技术的电力3D监控应用(四)

IE11很给力,我在mac下的VirtualBox虚拟机里面IE11是唯一能跑WebGL的(其他浏览器不知道是否有开关设置可以在虚拟器可以跑的,如果有还请高人指点),但还得努力啊,一堆基础的API都不支持,...

2013/12/21 13:56
601
0
WebGL 3D on iOS8 正式版

今天iOS8终于正式发布了,升级了手头设备后对我来说最重要的就是测试WebGL的3D是否真的能跑苹果的系统了,跑了多个HT for Web的3D例子都非常流畅,比Android刚支持WebGL时好太多了,基本还没...

2014/09/18 15:01
340
0
android多框架实现短视频应用、3D手势旋转、banner控件、指南针、智能管家等应用源码

Android精选源码 android智能管家app源码 Android高仿拼多多分类列表 Android百度地图实例详解之仿摩拜单车APP RecyclerView的LayoutManager搭建流式布局 Android自定义View分享——一个圆形...

11/06 15:37
6
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部