对中国移动官方Web Fetion http连接原理的研究
一下是利用Firefox+Firebug插件对WebFetion(http://webim.feixin.10086.cn)的http通讯进行的分析,验证了之前对WebFetion用http长连接技术的猜想.
图一 GetConnect.aspx 长连接获得信息(等待阶段) 注意到后面的等待连接时间很长
图二 GetConnect.aspx接收到消息时,服务器端会结束掉长连接 返回消息 注意到时间很短
图三 version变量作为GetConnect.aspx的时序
图四 GetConnection.aspx 接受到新消息的JSON数据
图五 这里是SendMsg.asp发送消息的参数
综上,webFetion使用JQuery脚本库 不断进行ajax请求,并加上keep-alive的http请求头, 服务器端在无消息返回时,拖长http连接而不返回响应,有消息返回时则返回消息,并中断长连接的方法 这样使消息没有延迟的送入浏览器.
这种技术被谷歌称为Comet(彗星)技术,有望在GAE下一代api中实现.