previous |
start |
next
HTTP/1.1 Basics
HTTP/1.1 (rfc2616) is now
in widespread use. It extends the older protocol in a number of
areas, notably persistent connections/pipelining
and support for caching.
To implement Persisent Connections, HTTP/1.1
introduced a new request (and also response) header called
"Connection:
". This can take two values:
"close
" (which means that this is
not a persistent connection) and
"keep-alive
", which means that the TCP
connection is held until either side sends a
"Connection: close
" header, indicating
that it wishes to terminate.
The browser can utilise a persistent connection by sending
multiple requests over the connection without stopping and waiting
for each them to be satisfied before sending the next -- the
reponses are "in the pipeline". Similarly, the server can respond
with responses sent one after another another. This is possible
because each request can be unambiguously identified, as can the
responses, using the "Content-length:
" headers.
The huge wins here, obviously, are that there's no delay opening
multiple TCP connections, and the slow-start algorithm has time to
get up to full speed.
previous |
start |
next