On Sat, Nov 9, 2013 at 4:25 AM, Grant Edwards <invalid@invalid.invalid> wrote: > I've got a very feeble web server. The crypto handshaking involved in > opening an https: connection takes 2-3 seconds. That would be fine if > a browser opened a single connection and then sent a series of > requests on that connection to load the various elements on a page. > > But that's not what browsers do. They all seem to open whole handful > of connections (often as many as 8-10) and try to load all the page's > elements in parallel.
Are you using HTTP 1.1 with connection reuse? Check that both your client(s) and your server are happy to use 1.1, and you may be able to cut down the number of parallel connections. Alternatively, since fixing it at the browser seems to be hard, can you do something ridiculously stupid like... tunnelling insecure HTTP over SSH? That way, you establish the secure tunnel once, and establish a whole bunch of connections over it - everything's still encrypted, but only once. As an added bonus, if clients are requesting several pages serially (user clicks a link, views another page), that can be done on the same connection as the previous one, cutting crypto overhead even further. ChrisA -- https://mail.python.org/mailman/listinfo/python-list