FWIW the 'cannot switch HTTP/2' argument is my own personal excuse and I believed I indicated use of http pipelining in the survey because of that.
I have only ever used http pipelining as a technique of last resort and would gladly say 'curl does not support this as its 2018 and we all use HTTP/2 now" - sometimes hard 'no' motivates people to shift to more modern (safer, etc) http protocol faster. I see this kind of refactoring as part of the overall change cost to upgrading to HTTP/2 which at some point will be unavoidable. +1 to this proposal. Jim On 30 June 2018 at 12:16, Daniel Stenberg <dan...@haxx.se> wrote: > Hi all, > > We got a fresh new HTTP pipelining bug submitted today [1]. We already have > other pipelining bugs listed in the KNOWN_BUGS document [2]. > > I'm pretty sure there are more pipelining quirks that just aren't > documented/stored anywhere. > > HTTP Pipelining is badly supported by curl in the sense that we have bugs > and it is a fragile feature without enough tests. Also, when something turns > out to have problems it is really tricky to debug due to the timing > sensitivy so very often enabling debug outputs or similar completely changes > the nature of the behavior and things are not reproducing anymore! > > HTTP Pipelining was never enabled by default by the large desktop browsers > due to all the issues with it. Both Firefox and Chrome have also dropped > Pipelining support entirely since a long time back now. We are in fact over > time becoming more and more lonely in supporting pipelining. > > The bad state of HTTP pipelining was a primary driving factor behind HTTP/2 > and its multiplexing feature. HTTP/2 multiplexing is truly and really > "pipelining done right". It is way more solid, practical and solves the use > case in a better way with better performance and fewer downsides and > problems. > > In 2018, pipelining *should* be abandoned and HTTP/2 should be used instead. > > How many users do we have that use Pipelining? > > In the annual curl survey we ask users and a shockingly large amount of > users claim they use pipelining. Over 20% in the latest poll. I've never > trusted this number though, since we would have way more bug reports and > work done on the code if it truly was used that much. > > What would a convincing argument for keeping it? > > I don't know. I'm sure there will be some amount of users who say they use > it, it works for them and they can't switch to HTTP/2 for various reasons > (often because they don't control the other end). > > How important pipelining is for these users? If we are going to keep > pipelining because we deem these users' use cases are important enough, how > are we going to proceed to shape up the support/quality? I'm afraid we don't > see a lot of willing developers joining the ranks to fix the problems. > > I certainly don't have all the answers. Thoughts anyone? > > [1] = https://github.com/curl/curl/issues/2701 > [2] = https://curl.haxx.se/docs/knownbugs.html#Disabling_HTTP_Pipelining > > -- > > / daniel.haxx.se > ------------------------------------------------------------------- > Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library > Etiquette: https://curl.haxx.se/mail/etiquette.html ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html