基于http协议的app缓存机制
2012-11-27 19:14
253 查看
在讨论“基于HTTP协议的app缓存机制”这个专题前,先来了解下app客户端现有的缓存机制:
用户首次进入客户端首页时会从服务器获取最新数据,并将数据缓存至本地,如若不重启客户端,将不再向服务器获取最新数据。
这个缓存机制非常简单,发挥了一定的缓存作用,但是存在以下几点问题:
1.不够灵活,无法有效控制数据更新的时机
2.不够透明,app开发人员必须熟知这种缓存机制的具体实现细节
3.不够通用,每个页面/接口需要重复编写冗余的代码,无法在各个项目间进行移植
说到这里,我想我们需要引入一种基于架构的更加强大、更加完善的缓存机制,这个缓存机制是什么样子的呢?
其实很简单,我们每天都在使用,甚至我们离不开它-浏览器,相信细心的你在使用它们时会有如下体验:
1.重复访问一个页面会打开得更快
2.有时网络掉线了仍然可以打开页面
3.作为技术人员,我们有时还碰到一个页面死活不肯更新的情况
浏览器种类很多:chrome、IE、firefox、Safari、operai等等,但无论何种浏览器它们都采用HTTP作为通信协议,
我们的app也不例外。app和浏览器一样在用户和服务器之间充当代理的角色,为用户做了很多隐性的操作,
缓存只是其中一项(本文不试图介绍浏览器缓存机制的实现细节,有兴趣的同学可以查阅http白皮书)。
浏览器采取的缓存机制我们完全可以借鉴,那么是否有先驱已经将浏览器的缓存机制搬到app,并形成成熟可用的组件?
幸好,大牛们为开源付出了大量心血,有现成的解决方案,当然这一切还需要大量的测试和验证!
1.HTTP Response Caching for Java and Android
http://blog.csdn.net/parcel8437/article/details/8072316 https://github.com/candrews/HttpResponseCache 2.HTTP Response Caching for ios
https://devcenter.heroku.com/articles/ios-network-caching-http-headers
用户首次进入客户端首页时会从服务器获取最新数据,并将数据缓存至本地,如若不重启客户端,将不再向服务器获取最新数据。
这个缓存机制非常简单,发挥了一定的缓存作用,但是存在以下几点问题:
1.不够灵活,无法有效控制数据更新的时机
2.不够透明,app开发人员必须熟知这种缓存机制的具体实现细节
3.不够通用,每个页面/接口需要重复编写冗余的代码,无法在各个项目间进行移植
说到这里,我想我们需要引入一种基于架构的更加强大、更加完善的缓存机制,这个缓存机制是什么样子的呢?
其实很简单,我们每天都在使用,甚至我们离不开它-浏览器,相信细心的你在使用它们时会有如下体验:
1.重复访问一个页面会打开得更快
2.有时网络掉线了仍然可以打开页面
3.作为技术人员,我们有时还碰到一个页面死活不肯更新的情况
浏览器种类很多:chrome、IE、firefox、Safari、operai等等,但无论何种浏览器它们都采用HTTP作为通信协议,
我们的app也不例外。app和浏览器一样在用户和服务器之间充当代理的角色,为用户做了很多隐性的操作,
缓存只是其中一项(本文不试图介绍浏览器缓存机制的实现细节,有兴趣的同学可以查阅http白皮书)。
浏览器采取的缓存机制我们完全可以借鉴,那么是否有先驱已经将浏览器的缓存机制搬到app,并形成成熟可用的组件?
幸好,大牛们为开源付出了大量心血,有现成的解决方案,当然这一切还需要大量的测试和验证!
1.HTTP Response Caching for Java and Android
http://blog.csdn.net/parcel8437/article/details/8072316 https://github.com/candrews/HttpResponseCache 2.HTTP Response Caching for ios
https://devcenter.heroku.com/articles/ios-network-caching-http-headers
相关文章推荐
- 基于http协议的app缓存机制
- 利用缓存机制加速基于phonegap的ios app启动速度
- 基于年纪和成本(Age & Cost)的缓存替换(cache replacement)机制
- 基于代理和注解机制,实现消息重发(APP,SMS)效果
- 彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- 彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- 地图的开发研究--基于openlayers+geoserver+tomcat的离线地图-geoserver的缓存机制(geowebcache)
- HTTP协议缓存机制的应用
- 基于synchronized 或 ReadWriteLock实现 简单缓存机制
- [笔记] ASP.NET本身的缓存实现机制,基于Cache的实现。提供按分类进行管理的缓存功能
- 彻底弄懂 HTTP 缓存机制 —— 基于缓存策略三要素分解法
- 基于http协议通信的APP安全策略的一点思考
- 彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- 彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- Http协议:彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- 彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- 基于年纪和成本(Age & Cost)的缓存替换(cache replacement)机制
- 彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- 彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- 基于路由机制设计的app架构思路