Thursday, March 24, 2011

HTTP1.1 Browser Connections

Some interesting thing I learned this week when investigating web sockets was related to browser-web server connection pool. Applications developed in the past, including web2.0, while trying to speed up user experience, introduced techniques such as AJAX, and iFrames. However, web resources downloaded to browser was always limited to number of connections that could be established to A server domain; this limitation created by design for supporting dial-up users, varied between browsers. In IE 5-7, number of connections was always limited to 2.
    So regardless of how efficiently your AJAX calls are initiated or iFrames are stacked, your browser wait time is not going to improve a lot. A couple of ways to speed things up,
  1. Use multiple domains for resources. i.e split you static resources across more than one domain and have all dynamic content served from one domain name.
  2. Migrate to IE8, or Firefox 3, however for client facing internet apps you do not know your client systems.
  3. For the sake of fun, modify your registry to allow concurrent connections by following microsoft instructions (http://support.microsoft.com/kb/282402). Beware, pushing the max connections beyond 10 may be interpreted as DoS attack by web server or F5 on the receiving end you may end up blocking your IP.
  
Browser HTTP/1.1 HTTP/1.0
IE 6,7 2 4
IE 8 6 6
Firefox 2 2 8
Firefox 3 6 6
Safari 3,4 4 4
Chrome 1,2 6 ?
Chrome 3 4 4
Chrome 4+ 6 ?












No comments:

Post a Comment