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/

Reply via email to