Bug 87758

Summary: Supporting http 1.1 pipelining
Product: [Frameworks and Libraries] frameworks-kio Reporter: kaplun
Component: generalAssignee: Andreas Hartmetz <ahartmetz>
Status: CONFIRMED ---    
Severity: wishlist CC: crissi99, faure, kdelibs-bugs-null, markusk, tfjellstrom
Priority: NOR    
Version First Reported In: 5.48.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description kaplun 2004-08-22 16:21:38 UTC
Version:            (using KDE KDE 3.3.0)
Installed from:    Compiled From Sources

I found in the http kio-slave, that HTTP 1.1 pipelining isn't yet supported in http. Is there a plane to support it in the future? Isn't it a major source of improvements with web browsing performance?
Comment 1 Bobby Holley 2005-06-15 20:33:01 UTC
It's definitely the main thing I miss from firefox.
Comment 2 Chris 2005-06-21 00:26:20 UTC
*** This bug has been confirmed by popular vote. ***
Comment 3 Chris 2005-06-21 01:36:47 UTC
Ditto. It really helps on my connection, and it's painful to see Konqueror load web pages load significantly slower than Firefox.
Comment 4 kaplun 2005-08-07 15:01:03 UTC
Hi! What's the state of this wish? Will it be considered in feature releases of kde?
Comment 5 Thiago Macieira 2005-08-09 07:19:56 UTC
Yes, we have considered it and keep on considering it.
Comment 6 Tuomas Nurmi 2006-08-20 21:05:00 UTC
So... Will this be in KDE 5?
Comment 7 Dennis Jansen 2008-08-14 19:08:45 UTC
Is this seriously still not fixed yet in KDE 4.1? It's hard to imagine Konqueror does not use http 1.1 pipelining...
Comment 8 Markus Kohls 2009-03-13 03:18:15 UTC
I read of a patch somewhere which implemented http pipelining for konqueror, but it didn't make much difference or worse some sites do not load. 
I am wondering if maybe pipelining could be enabled depending on which server is running on the server side. 
With polipo, the http pipelining proxy, for example handelsblatt.com looks weird, like css are not loaded; it uses IIS according to netcraft. Sites running Apache (spiegel.de, facebook.com) seem to run fine with Polipo.
Comment 9 Thomas 2009-03-13 03:43:18 UTC
a browser has to batch gets in the right sequence and wait for certain files, before including others in the page, or it'll look wrong. Certain things like CSS and JS come to mind, and have to be applied in a certain order as well. You can't just hack it in, the browser has to know it exists and be properly coded to use the feature.
Comment 10 Christoph Thielecke 2009-03-13 08:42:38 UTC
Hm, I tried handelsblatt.com and it look fine here (using polipo 1.0.4). I can provide a Debian package for Debian squeeze (http://crissi.linux-administrator.com/linux/polipo/) for testing.
Comment 11 Markus Kohls 2009-03-19 15:20:55 UTC
I use polipo 1.0.4,too. And tried it with firefox and konqueror, but handelsblatt still looks weird. Maybe Debian has some extra Patches there... or maybe i should try to compile with -O2 instead of -O3.
Those are the Patches i mentioned before.
http://lists.kde.org/?l=kde-core-devel&m=122722889625928&w=2
From the Discussion i get they only server whitelist?
Comment 12 David Faure 2009-04-06 20:08:09 UTC
I know that Andreas Hartmetz was working on this, not sure it's been committed though?
Comment 13 Andreas Hartmetz 2009-04-07 14:29:46 UTC
No, unfortunately I have not committed pipelining. Pipelining turned out to be a major headache, mainly because too many servers seem to be broken. E.g. static.flickr.com seemed to get confused by two parallel pipelines, probably due to a stupid load balancer. For this reason and others I'd also rather commit KIO connection limits (per server and per protocol) first to get a better handle on this kind of problem.
Pipelining also didn't seem to have a positive impact on performance. Conventional wisdom is that it mostly helps on high latency (like mobile or maybe even modem) connections.
I asked some Mozilla developers how they made pipelining reliable, and the answer was that they've actually disabled pipelining because it's too hard to get right, and the pipelining setting is ignored.

If anyone wants to see the code I've written so far I can send patches.
Comment 14 Markus Kohls 2009-04-07 14:48:44 UTC
http://operawiki.info/HttpProtocol

maybe this can help, if someone tries...
Comment 15 Andreas Hartmetz 2009-04-08 16:24:32 UTC
(In reply to comment #14)
> http://operawiki.info/HttpProtocol
> 
> maybe this can help, if someone tries...

Not really. I can read the RFCs myself, and they don't disclose how their heuristics work. I've seen that page before.