Technical Article

The Networking ABC's - K is for Keep-Alive

Today's word of the day in the Networking ABC's is the letter "K". There aren't that many good "K" words out there with regards to networking. Of course there are Keys with regards to cryptography, Kernel, and kilobytes. But, since networking at it's core is about connections, I opted for the "Keep-Alive" extension to HTTP that helps with connection consolidation.

"K" is for Keep-Alive

Keep-Alive

Pronounced: keep-uh-lahyv

The HTTP protocol is designed to be a stateless connection consisting of an inbound Request and outbound Response. The request and response are the content contained within a single TCP connection. In the early days of the web, web pages consisted of mostly text, and consequently the number of requests and responses (connections) to render a page were relatively low. Now if you go to a site there are 10s to 100s of objects per page (images, style sheets, script files, etc) and thus the number of connections needed to render a page has gone up significantly. The HTTP/1.1 draft defined the Keep-Alive protocol to allow browsers to pass multiple requests across a single connection, dramatically reducing the latency required to render a web page. In some cases, it has been shown that by adding Keep-Alive support can cause up to a 50% speed up in latency times.