KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
According to "HTTP: The Definitive Guide", using Connection: keep-alive to specify a persistent connection is deprecated in HTTP/1.1, since HTTP/1.1 specifies that connections are persistent by default and must be closed manually by sending Connection: close Thus, my simple assumption is that "Connection: keep-alive" shouldn't really be used anymore. However, it still seems alive and well. For example, keep-alive is being returned in the following query: curl -I https://foursquare.com HTTP/1.1 200 OK Server: nginx/0.8.52 Date: Thu, 11 Aug 2011 21:15:45 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive Expires: Thu, 11 Aug 2011 21:15:45 UTC Set-Cookie: XSESSIONID=w19~kqtn4bpqmfq51p8qolstpk6ti;Path=/;Secure;HttpOnly Set-Cookie: LOCATION=49.25::-123.13330078125::Hockeytown::CA;Path=/;Secure Set-Cookie: bbhive=OQ32XATE0OQAEVCY0IVSWUDPQ1A2GT Content-Length: 38815 Cache-Control: no-cache, private, no-store Pragma: no-cache My question is: Why is Connection: keep-alive still being specified in HTTP headers? A corollary question is: Are there still (clients, servers, proxies, etc) that still only speak HTTP/1.0 and its variants, or are most such entities on HTTP/1.1 as of 2011? Here are my working hypotheses: 1) HTTP/1.0 is no longer in use, b/c that was "many years" ago 2) Given (1), keep-alive shouldn't be used anymore, but is purely for vestigial reasons (that is, certain technologies haven't bothered to remove it, or keep it around as voodoo code, etc.) If (1) is incorrect, and HTTP/1.0 is still in use, then sure it seems plausible to keep using keep-alive, despite follow-up questions on HTTP 1.0-1.1 interop. Thanks in advance for any insights shared!
Tags (comma-separated)
Save Edits
Cancel