公开阅读类
知乎日报
服务器:zhihu_nginx
传输协议:http
数据传输格式:Json
数据安全:无
登录方式:微博登录,oauth2
今日头条
服务器:nginx/1.2.1,Content-Encoding:gzip
传输协议:http
数据传输格式:Json
数据安全:无
网易新闻
服务器:nginx Content-Encoding:gzip
传输协议:http, 只在登录和分享时通过https
数据传输格式:Json
登录方式:网易自身的登录系统
社交阅读类
知乎
服务器:zhihu_nginx
传输协议:https&http,主要信息通过https,图片等静态内容通过http
数据传输格式:Json
数据安全:即使用户不登陆,也需要一个Authorization:oauth a09343e8e67e44b29e0d850c14c7bf进行验证才能访问接口,登陆后只是验证变成了Authorization: Bearer f15bd82a1fe845ce971ddc78e5090943。
登录方式:支持自身的登录系统和新浪微博登录
新浪微博
服务器:nginx/1.2.0,Content-Encoding:gzip
传输协议:https
数据传输格式:XML&Json,主要内容采用XML格式,部分采用Json格式
数据安全:主要内容公开api,个人好友列表、私信等个人内容通过将用户token加入参数中保证一定的安全性。
登录:oauth登录,原先采用的oauth1,目前从参数上看,oauth1和oauth2是同时存在的。
大众点评
服务器:nginx
传输协议:http, 只在登录和分享时通过https
数据传输格式:二进制
数据安全:多数api在权限上是公开的,但由于数据传输采用二进制,不知道其编码解码规则的话一般很难获取数据,点评数据等涉及用户的数据也通过header中的token进行验证。
登录方式:自身的登录系统,第三方登录包括:微博,微信,开心,人人,QQ
总结
服务器
从http请求返回头来看,直面客户的服务器都采用了nginx,至于是做web server还是反向代理就不知道了。新浪微博,网易新闻,今日头条都开启了Gzip压缩。
传输协议
公开阅读类应用由于其数据本无需保密,使用http协议就可以了。社交阅读类采用https进行传输加密。
数据安全
公开阅读类的数据接口没有什么安全措施,社交阅读类测试的几个都是通过Authorization token进行验证,其中知乎和点评是通过在header中加入token,而微博则是将token放在参数中。点评采用了二进制的传输格式增加了额外的安全性。
传输格式
数据传输格式方面,Json的使用最为广泛。
xml由于其传输体积大,解析慢,不适合作为C/S间的数据传输。
二进制传输体积最小,性能最佳,但是需要开发上做更多的工作,而且需要考虑开源的二进制传输协议的语言支持问题,比如api同时为手机客户端和网页提供api的时候,网页端是难以处理二进制数据的。
Json格式目前来看性能足够,开发效率和兼容性则更好,可以为所有平台提供api,综合来说是较为合适的选择。