11.07.2015 Views

Network Working Group R. Fielding Request for Comments: 2616 ...

Network Working Group R. Fielding Request for Comments: 2616 ...

Network Working Group R. Fielding Request for Comments: 2616 ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

how the transfer-length of a message-body is determined.<strong>Fielding</strong>, et al. Standards Track [Page 43]RFC <strong>2616</strong> HTTP/1.1 June 19998 Connections8.1 Persistent Connections8.1.1 PurposePrior to persistent connections, a separate TCP connection wasestablished to fetch each URL, increasing the load on HTTP serversand causing congestion on the Internet. The use of inline images andother associated data often require a client to make multiplerequests of the same server in a short amount of time. Analysis ofthese per<strong>for</strong>mance problems and results from a prototypeimplementation are available [26] [30]. Implementation experience andmeasurements of actual HTTP/1.1 (RFC 2068) implementations show goodresults [39]. Alternatives have also been explored, <strong>for</strong> example,T/TCP [27].Persistent HTTP connections have a number of advantages:- By opening and closing fewer TCP connections, CPU time is savedin routers and hosts (clients, servers, proxies, gateways,tunnels, or caches), and memory used <strong>for</strong> TCP protocol controlblocks can be saved in hosts.- HTTP requests and responses can be pipelined on a connection.Pipelining allows a client to make multiple requests withoutwaiting <strong>for</strong> each response, allowing a single TCP connection tobe used much more efficiently, with much lower elapsed time.- <strong>Network</strong> congestion is reduced by reducing the number of packetscaused by TCP opens, and by allowing TCP sufficient time todetermine the congestion state of the network.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!