]> git.saurik.com Git - apt.git/commitdiff
Do not send a connection: keep-alive, at all
authorRaphael Geissert <atomo64@gmail.com>
Sun, 14 Jul 2013 16:38:03 +0000 (18:38 +0200)
committerRaphael Geissert <atomo64@gmail.com>
Sun, 14 Jul 2013 16:38:03 +0000 (18:38 +0200)
methods/http.cc

index db1085a2d2b8be4195e1e632afa8f17711b3422f..6e03e9d63edac56044e9739db9ca99729ff84aca 100644 (file)
@@ -683,27 +683,14 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out)
    if (Itm->Uri.length() >= sizeof(Buf))
        abort();
        
-   /* Build the request. We include a keep-alive header only for non-proxy
-      requests. This is to tweak old http/1.0 servers that do support keep-alive
-      but not HTTP/1.1 automatic keep-alive. Doing this with a proxy server 
-      will glitch HTTP/1.0 proxies because they do not filter it out and 
-      pass it on, HTTP/1.1 says the connection should default to keep alive
-      and we expect the proxy to do this */
-   if (Proxy.empty() == true || Proxy.Host.empty())
-   {
-      // see LP bugs #1003633 and #1086997. The "+" is encoded as a workaround
-      // for a amazon S3 bug
-      sprintf(Buf,"GET %s HTTP/1.1\r\nHost: %s\r\nConnection: keep-alive\r\n",
-             QuoteString(Uri.Path,"+~ ").c_str(),ProperHost.c_str());
-   }
-   else
-   {
-      /* Generate a cache control header if necessary. We place a max
-                cache age on index files, optionally set a no-cache directive
-                and a no-store directive for archives. */
-      sprintf(Buf,"GET %s HTTP/1.1\r\nHost: %s\r\n",
-             Itm->Uri.c_str(),ProperHost.c_str());
-   }
+   /* Build the request. No keep-alive is included as it is the default
+      in 1.1, can cause problems with proxies, and we are an HTTP/1.1
+      client anyway.
+      C.f. https://tools.ietf.org/wg/httpbis/trac/ticket/158 */
+   // see LP bugs #1003633 and #1086997. The "+" is encoded as a workaround
+   // for a amazon S3 bug
+   sprintf(Buf,"GET %s HTTP/1.1\r\nHost: %s\r\n",
+          QuoteString(Uri.Path,"+~ ").c_str(),ProperHost.c_str());
    // generate a cache control header (if needed)
    if (_config->FindB("Acquire::http::No-Cache",false) == true) 
    {