标签:blog http strong 数据 2014 问题
简单列一下不同协议,序列化方式等的考虑。
在服务器端只需要提供一份接口,浏览器和app共用。在app中嵌入web view也很容易。
http协议的相关工具非常多。开发人员很方便 。比如负载均衡,直接nginx搞定。
比如统计一个接口的调用次数,相当的方便,有现在的分析工具。
压力测试也很方便。
http协议可能http服务器有漏洞,但是这种漏洞真的是很少。
手机可以设置http proxy,这对于某些用户可能是很关键的。如果是私有协议,设置http proxy就无效了。
比较复杂,可以自己做一层加密。
逆向有成本,攻击者可能会放弃。
不同语言,每个平台都要开发一套,耗时耗人力。
自己实现的协议有可能有漏洞,要防范恶意攻击。
节省流量。
wmwap下可能要http tunnel。
通用的数据交换格式,开发人员很熟悉,很三方的工具类库很多。
数据体积比较大。
没有版本化,前后端需要一定的沟通成本。
体积大,在http服务里,属于被抛弃的格式。
版本升级很容易,基本没有负担。
体积小。
通迅协议没有官方标准,第三方实现可能比较混乱。
如果是用工具生成的代码,基本不会有序列化的漏洞。
据说微信用的是protobuf。
可能遇到序列化的bug;
多语言支持的问题;
序列化的漏洞问题;
貌似cmwap的用户还是不少的。
http://s.weibo.com/weibo/cmwap
微信貌似是支持cmwap的:
http://weixin.qq.com/cgi-bin/readtemplate?promote=2&nav=contact&t=weixin_faq_networkflow
http://www.zhihu.com/question/19796744 一个11年的cmwap和cmnet的用户比例的东东。
如果是自己定制的协议,可以要做一下http tunnel,即一开始时,发送一个http头来欺骗移动的网关。
TODO:网上有一些cmwap http tunnel的文章,从理论上应该是可行的。
安全性的考虑:
https比http要安全。
对于app,很大的一个安全威胁是伪造wifi热点,http很容易被抓包。
尽管OpenSSL漏洞让人们意识到https也不是那么的安全。但对于绝大部分人来说,https还是很安全的,因为攻击成功很高。
但是即使https也不是那么的安全,参考:流量劫持能有多大危害?
https要比http慢;
证书的费用;
部署的问题,证书要放到CDN上,不然拿不到用户的真实IP;
看到过一个数据,在中国有20%的地区的无线用户用https是连不上的(真实性,技术性未知)。
全站https还是部分https?
https开发比http要复杂;
人个认为,对于绝大部分的app,http协议+JSON格式是比较好的选择。
因为这是最容易维护开发的,成本也比较低。
移动App通讯协议及序列化方式的选择,布布扣,bubuko.com
标签:blog http strong 数据 2014 问题
原文地址:http://blog.csdn.net/hengyunabc/article/details/37587605