该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-27
1、BOSH的规范中没有声明是为无线互联网设计的(只说是兼容移动终端),实际上作为XMPP的系列规范,肯定在有线互联网也有主流的应用。实际上,几个主流开源的XMPP服务器都对BOSH(以前版本叫做HTTP-BIND)有支持。正如规范中所言,HTTP1.1的环境下才是BOSH性能最优的时候。
2、不清楚“http1.1的chunk encoding方式实现的长连接 ”与“HTTP Stream”有什么区别?当数据需要分块编码传输的时候,这时候是否可以看作是HTTP的Stream? |
|
返回顶楼 | |
发表时间:2007-09-29
支持BOSH
|
|
返回顶楼 | |
发表时间:2007-10-02
歆渊 写道 在没有客户端没有发送请求的时候 这个没看太明白. 我设想的情况是这样: 建立这个长HTTP连接时是客户端发出一个空的HTTP请求, 不提交任何请求数据, 只为建立这条HTTP连接; 如果没有数据需要push 服务器可以在连接TimeOut之前不给客户端传任何数据. 然后针对 HTTP/1.1, 可以在快要TimeOut的时候发一个空包维持此连接; 或者可以与 HTTP/1.0 的处理相同, 直接0长度内容结束这条连接, 然后等着客户端发起另外一个 "长连接". 在没有数据这一点上,和bosh是一致的心跳方式 而在客户端有数据发送时,和bosh就不同了,更简单一些 但是问题在于proxy和cache:即使是chunk,proxy cache也可以等所有数据全部接收到了,缓存起来了,再一次性返回给客户端,这样就破坏了这个长连接本来的目的 bosh中response肯定只是一个包,所以能很好地适应proxy和cache |
|
返回顶楼 | |