All 124 requests are POST requests- and POST requests are non-idempotent and should not be pipelined. Though it is referred to as SHOULD NOT, unless you have a very very strong enough reason to pipeline POST, you must not. [*]
If you have a client or are using a http library which are pipelining post requests, you should stop using it : please refer to HTTP spec about non-idempotent requests (which should make it obvious why this is extremely bad idea). Regards, Mridul [*] Note: I am referring to POST, not GET/HEAD/etc - which must be pipelined if possible. > >From: Waqas Hussain <[email protected]> >To: Bidirectional Streams Over Synchronous HTTP <[email protected]> >Sent: Sat, 2 January, 2010 5:01:12 AM >Subject: Re: [BOSH] Pipelining / avoiding use of 2x HTTP-sockets > > >On Wed, Dec 30, 2009 at 8:47 PM, Mridul Muralidharan <[email protected]> >wrote: > >>> >>>>Ian should really write up some document describing the way 124 is supposed >>>>to work, I have seen it confusing quite a lot of people. >> >> >>>>124 requires that when client wants to send a request, it should be able to >>>>as soon as possible : since the previous request from client would >>>>typically be blocked at CM if there is no response to be returned. >> >>>>This means that : >>>>a) Client uses 'another' connection to talk to CM. >>>> In this case, CM will immediately respond back on the previous connection >>>> and 'block' on the new connection (for returning responses with minimum >>>> delay when server needs to send async messages back). >>>>b) If client uses same socket (for whatever reason : pipelining POST's is >>>>really weird behavior IIRC), then CM should detect availability of a new >>>>request from client and send a response back for the previous request. >> >>>>(b) is not required since most, if not all, impl's do not pipeline post >>>>requests. >> >> >> >>>>Hope this clarifies things. >>>>Sorry for the late response - probably not relevant anymore ! >> >>>>Regards, >>>>Mridul >> > > >(b) is required. Many client implementations do support pipelining. In most >web browsers it is disabled by default, but users can still enable it (e.g., >the various firefox performance tweaking extensions do this automatically). >Opera in particular has i enabled by default. > > >See http://en.wikipedia.org/wiki/HTTP_pipelining#Implementation_in_web_browsers > > >And that's just web browsers. BOSH clients are by no means limited to web >browsers, and pipelining occurs at a lower level than BOSH. > > >-- >Waqas Hussain > > The INTERNET now has a personality. YOURS! See your Yahoo! Homepage. http://in.yahoo.com/
