论坛首页 Java企业应用论坛

初探BOSH (Bidirectional-streams Over Synchronous HTTP)

浏览 18909 次
该帖已经被评为良好帖
作者 正文
   发表时间:2007-09-27  
1、BOSH的规范中没有声明是为无线互联网设计的(只说是兼容移动终端),实际上作为XMPP的系列规范,肯定在有线互联网也有主流的应用。实际上,几个主流开源的XMPP服务器都对BOSH(以前版本叫做HTTP-BIND)有支持。正如规范中所言,HTTP1.1的环境下才是BOSH性能最优的时候。
2、不清楚“http1.1的chunk encoding方式实现的长连接 ”与“HTTP Stream”有什么区别?当数据需要分块编码传输的时候,这时候是否可以看作是HTTP的Stream?

0 请登录后投票
   发表时间:2007-09-29  
支持BOSH
0 请登录后投票
   发表时间: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
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics