previous |
start |
next
HTTP/1.0 Performance Issues
HTTP/1.0 has been
criticised for poor performance and lack of scalability. There
are several aspects to this:
- HTTP/1.0 opens a new TCP connection for every single
transaction. For example, if a Web page contains 10
<img
...>
images, HTTP/1.0 must open a total of 11 TCP
connections -- one for the original page, and 10 for the images.
Problems which arise from this include:
- There can be a moderately long overhead in initial connection
establishment due to round-trip delays.
- TCP initiates connections using the so-called "slow start"
algorithm. This is necessary for proper operation, but is very
inefficient for short transfers -- TCP typically takes 10 to 20KB
of transferred data to get "up to full speed". Both of these can
cause HTTP/1.0 browsers to seem really slow.
- TCP is required to maintain "state" information about closed
connections for 240 seconds, to ensure that stray packets from old
connections won't be interpreted as valid data by a later
connection. When a server is handling a large number of
connections, this can require huge buffer space, and is very
inefficient.
- HTTP/1.0 has very limited support for caching.
Because of these aspects, HTTP 1.0 is gradually being replaced by
HTTP
1.1.
previous |
start |
next