The Internet is amazing, if you have a server in the same country everything seems to happen almost instantly… but with many servers overseas, it’s good to reduce the number of TCP round trips needed to view your web pages.
Web page authors can do all sorts of hacks to make things load faster (e.g. check out Y-slow), but you can get great improvements just by tweaking your browser settings. Here’s how to do that with Firefox:
essential – HTTP pipelining:
1. Enter ‘about:config’ in the URL bar, and click ‘I’ll be careful’.
2. Search for ‘pipe’.
3. Enable all the pipelining options, if not already.
4. Set ‘network.http.pipelining.maxrequests’ to 100 or some large number.
already – HTTP keep-alive:
5. Search for ‘alive’.
6. Enable all the keep-alive options, if not already (they should be).
7. You can increase ‘network.http.keep-alive.timeout’, but not much need.
optional – paint delay, max connections:
8. Right click, new → integer, name ‘nglayout.initialpaint.delay’, value 0.
9. Search for ‘connections’.
10. You can increase these four max-connections values, but not much need.
All these speed hacks are well-known, but the top-ranking page on Google for
‘firefox pipelining’ was an incorrect blog post by someone who had completely
misunderstood what HTTP pipelining is. So maybe it’s worth explaining it.
Pipelining just means your browser will send all (or many) outstanding requests
at once, through a single channel; rather than the normal slow cycle:
request 1, read response 1, request 2, read response 2… So, pipelining
avoids a lot of unnecessary latency, with no need to open parallel connections.
I wrote a somewhat longer page about this, here http://sam.ai.ki/pipelining.html
I hope that this short advice, with correct explanations, will help you enjoy
a better browsing experience with Firefox! If you have some correction for me,
or other browsing speed tips, please let me know and I’ll update my page.