From 5d9fc28fa760e1b0b7f68fce7ae845f4e659e0fd Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Wed, 11 May 2005 09:52:59 +0000
Subject: [PATCH] Modified the default HTTP headers used by libcurl:

A) Normal non-proxy HTTP:

 - no more "Pragma: no-cache" (this only makes sense to proxies)

B) Non-CONNECT HTTP request over proxy:

 - "Pragma: no-cache" is used (like before)
 - "Proxy-Connection: Keep-alive" (for older style 1.0-proxies)

C) CONNECT HTTP request over proxy:

 - "Host: [name]:[port]"
 - "Proxy-Connection: Keep-alive"
---
 lib/http.c         | 209 +++++++++++++++++++++++++++++++--------------
 tests/data/test1   |   1 -
 tests/data/test10  |   1 -
 tests/data/test11  |   2 -
 tests/data/test12  |   1 -
 tests/data/test13  |   1 -
 tests/data/test14  |   1 -
 tests/data/test15  |   1 -
 tests/data/test150 |   2 -
 tests/data/test151 |   1 -
 tests/data/test152 |   1 -
 tests/data/test153 |   4 -
 tests/data/test154 |   2 -
 tests/data/test155 |   3 -
 tests/data/test156 |   1 -
 tests/data/test157 |   1 -
 tests/data/test158 |   1 -
 tests/data/test159 |   2 -
 tests/data/test16  |   1 +
 tests/data/test160 |   2 -
 tests/data/test162 |   1 +
 tests/data/test163 |   1 -
 tests/data/test164 |   1 -
 tests/data/test165 |   1 +
 tests/data/test166 |   1 -
 tests/data/test167 |   2 +
 tests/data/test168 |   3 +
 tests/data/test169 |   3 +
 tests/data/test17  |   1 -
 tests/data/test170 |   1 +
 tests/data/test171 |   1 +
 tests/data/test172 |   1 -
 tests/data/test173 |   1 -
 tests/data/test174 |   1 -
 tests/data/test175 |   2 -
 tests/data/test176 |   2 -
 tests/data/test177 |   1 -
 tests/data/test178 |   1 -
 tests/data/test179 |   1 +
 tests/data/test18  |   3 -
 tests/data/test180 |   1 -
 tests/data/test181 |   1 -
 tests/data/test183 |   2 +
 tests/data/test184 |   2 +
 tests/data/test185 |   2 +
 tests/data/test186 |   1 -
 tests/data/test187 |   2 -
 tests/data/test188 |   2 -
 tests/data/test189 |   2 -
 tests/data/test192 |   1 -
 tests/data/test193 |   2 -
 tests/data/test194 |   1 -
 tests/data/test197 |   2 -
 tests/data/test198 |   2 -
 tests/data/test199 |   2 -
 tests/data/test2   |   1 -
 tests/data/test206 |   5 +-
 tests/data/test207 |   1 -
 tests/data/test208 |   1 +
 tests/data/test209 |   5 +-
 tests/data/test213 |   5 +-
 tests/data/test214 |   1 -
 tests/data/test217 |   2 +
 tests/data/test218 |   1 -
 tests/data/test22  |   1 -
 tests/data/test220 |   1 -
 tests/data/test221 |   1 -
 tests/data/test222 |   1 -
 tests/data/test223 |   1 -
 tests/data/test224 |   1 -
 tests/data/test233 |   2 +
 tests/data/test234 |   2 +
 tests/data/test239 |   2 +
 tests/data/test24  |   1 -
 tests/data/test240 |   1 -
 tests/data/test241 |   1 -
 tests/data/test242 |   1 -
 tests/data/test243 |   3 +
 tests/data/test245 |   2 -
 tests/data/test246 |   2 -
 tests/data/test249 |   1 -
 tests/data/test25  |   6 --
 tests/data/test256 |   1 +
 tests/data/test257 |   3 +
 tests/data/test258 |   2 +
 tests/data/test259 |   2 +
 tests/data/test26  |   1 -
 tests/data/test27  |   3 -
 tests/data/test28  |   2 -
 tests/data/test29  |   1 -
 tests/data/test3   |   1 -
 tests/data/test30  |   1 -
 tests/data/test300 |   1 -
 tests/data/test301 |   1 -
 tests/data/test303 |   1 -
 tests/data/test304 |   1 -
 tests/data/test306 |   1 -
 tests/data/test31  |   1 -
 tests/data/test32  |   1 -
 tests/data/test33  |   1 -
 tests/data/test34  |   1 -
 tests/data/test36  |   1 -
 tests/data/test37  |   1 -
 tests/data/test38  |   1 -
 tests/data/test39  |   1 -
 tests/data/test4   |   1 -
 tests/data/test40  |   2 -
 tests/data/test42  |   2 -
 tests/data/test43  |   2 +
 tests/data/test44  |   1 -
 tests/data/test45  |   2 -
 tests/data/test46  |   1 -
 tests/data/test47  |   1 -
 tests/data/test48  |   1 -
 tests/data/test49  |   2 -
 tests/data/test5   |   1 +
 tests/data/test50  |   2 -
 tests/data/test500 |   1 -
 tests/data/test503 |   3 +-
 tests/data/test508 |   1 -
 tests/data/test509 |   1 -
 tests/data/test51  |   2 -
 tests/data/test510 |   1 -
 tests/data/test512 |   1 -
 tests/data/test513 |   1 -
 tests/data/test514 |   1 -
 tests/data/test515 |   1 -
 tests/data/test516 |   1 -
 tests/data/test518 |   1 -
 tests/data/test519 |   2 -
 tests/data/test52  |   2 -
 tests/data/test522 |   1 -
 tests/data/test523 |   1 +
 tests/data/test53  |   1 -
 tests/data/test54  |   1 -
 tests/data/test55  |   2 -
 tests/data/test56  |   1 -
 tests/data/test57  |   1 -
 tests/data/test58  |   1 -
 tests/data/test59  |   1 -
 tests/data/test6   |   1 -
 tests/data/test60  |   1 -
 tests/data/test61  |   1 -
 tests/data/test62  |   1 -
 tests/data/test63  |   1 +
 tests/data/test64  |   2 -
 tests/data/test65  |   2 -
 tests/data/test66  |   1 -
 tests/data/test67  |   2 -
 tests/data/test68  |   2 -
 tests/data/test69  |   3 -
 tests/data/test7   |   1 -
 tests/data/test70  |   2 -
 tests/data/test71  |   1 -
 tests/data/test72  |   2 -
 tests/data/test73  |   1 -
 tests/data/test74  |   2 -
 tests/data/test77  |   1 -
 tests/data/test78  |   1 -
 tests/data/test79  |   1 +
 tests/data/test8   |   1 -
 tests/data/test80  |   5 +-
 tests/data/test81  |   2 +
 tests/data/test82  |   1 +
 tests/data/test83  |   3 +-
 tests/data/test84  |   1 +
 tests/data/test85  |   1 +
 tests/data/test86  |   3 -
 tests/data/test88  |   2 -
 tests/data/test89  |   4 -
 tests/data/test9   |   1 -
 tests/data/test90  |   6 --
 tests/data/test91  |   3 -
 tests/data/test92  |   1 -
 tests/data/test93  |   1 +
 tests/data/test94  |   2 +
 tests/data/test95  |   3 +-
 tests/data/test97  |   1 -
 tests/data/test98  |   1 -
 tests/data/test99  |   1 -
 180 files changed, 218 insertions(+), 275 deletions(-)

diff --git a/lib/http.c b/lib/http.c
index f61ce42c45..84f357a9c2 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -811,6 +811,8 @@ struct send_buffer {
 };
 typedef struct send_buffer send_buffer;
 
+static CURLcode add_custom_headers(struct connectdata *conn,
+                                   send_buffer *req_buffer);
 static CURLcode
  add_buffer(send_buffer *in, const void *inptr, size_t size);
 
@@ -885,34 +887,47 @@ CURLcode add_buffer_send(send_buffer *in,
 
     *bytes_written += amount;
 
-    if((size_t)amount != size) {
-      /* The whole request could not be sent in one system call. We must queue
-         it up and send it later when we get the chance. We must not loop here
-         and wait until it might work again. */
+    if(http) {
+      if((size_t)amount != size) {
+        /* The whole request could not be sent in one system call. We must
+           queue it up and send it later when we get the chance. We must not
+           loop here and wait until it might work again. */
 
-      size -= amount;
+        size -= amount;
 
-      ptr = in->buffer + amount;
+        ptr = in->buffer + amount;
 
-      /* backup the currently set pointers */
-      http->backup.fread = conn->fread;
-      http->backup.fread_in = conn->fread_in;
-      http->backup.postdata = http->postdata;
-      http->backup.postsize = http->postsize;
+        /* backup the currently set pointers */
+        http->backup.fread = conn->fread;
+        http->backup.fread_in = conn->fread_in;
+        http->backup.postdata = http->postdata;
+        http->backup.postsize = http->postsize;
 
-      /* set the new pointers for the request-sending */
-      conn->fread = (curl_read_callback)readmoredata;
-      conn->fread_in = (void *)conn;
-      http->postdata = ptr;
-      http->postsize = (curl_off_t)size;
+        /* set the new pointers for the request-sending */
+        conn->fread = (curl_read_callback)readmoredata;
+        conn->fread_in = (void *)conn;
+        http->postdata = ptr;
+        http->postsize = (curl_off_t)size;
 
-      http->send_buffer = in;
-      http->sending = HTTPSEND_REQUEST;
+        http->send_buffer = in;
+        http->sending = HTTPSEND_REQUEST;
 
-      return CURLE_OK;
+        return CURLE_OK;
+      }
+      http->sending = HTTPSEND_BODY;
+      /* the full buffer was sent, clean up and return */
+    }
+    else {
+      if((size_t)amount != size)
+        /* We have no continue-send mechanism now, fail. This can only happen
+           when this function is used from the CONNECT sending function. We
+           currently (stupidly) assume that the whole request is always sent
+           away in the first single chunk.
+
+           This needs FIXing.
+        */
+        return CURLE_SEND_ERROR;
     }
-    http->sending = HTTPSEND_BODY;
-    /* the full buffer was sent, clean up and return */
   }
   if(in->buffer)
     free(in->buffer);
@@ -1038,9 +1053,15 @@ Curl_compareheader(char *headerline,    /* line to check */
 }
 
 /*
- * ConnectHTTPProxyTunnel() requires that we're connected to a HTTP proxy. This
- * function will issue the necessary commands to get a seamless tunnel through
- * this proxy. After that, the socket can be used just as a normal socket.
+ * ConnectHTTPProxyTunnel() requires that we're connected to a HTTP
+ * proxy. This function will issue the necessary commands to get a seamless
+ * tunnel through this proxy. After that, the socket can be used just as a
+ * normal socket.
+ *
+ * This badly needs to be rewritten. CONNECT should be sent and dealt with
+ * like any ordinary HTTP request, and not specially crafted like this. This
+ * function only remains here like this for now since the rewrite is a bit too
+ * much work to do at the moment.
  */
 
 CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,
@@ -1063,6 +1084,7 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,
   char *line_start;
   char *host_port;
   curl_socket_t tunnelsocket = conn->sock[sockindex];
+  send_buffer *req_buffer;
 
 #define SELECT_OK      0
 #define SELECT_ERROR   1
@@ -1080,26 +1102,66 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,
       conn->newurl = NULL;
     }
 
+    /* initialize a dynamic send-buffer */
+    req_buffer = add_buffer_init();
+
+    if(!req_buffer)
+      return CURLE_OUT_OF_MEMORY;
+
     host_port = aprintf("%s:%d", hostname, remote_port);
     if(!host_port)
       return CURLE_OUT_OF_MEMORY;
 
     /* Setup the proxy-authorization header, if any */
     result = Curl_http_output_auth(conn, (char *)"CONNECT", host_port, TRUE);
+
     if(CURLE_OK == result) {
+      char *host=(char *)"";
+      const char *proxyconn="";
+      char *ptr;
+
+      ptr = checkheaders(data, "Host:");
+      if(!ptr) {
+        host = aprintf("Host: %s\r\n", host_port);
+        if(!host)
+          result = CURLE_OUT_OF_MEMORY;
+      }
+      ptr = checkheaders(data, "Proxy-Connection:");
+      if(!ptr)
+        proxyconn = "Proxy-Connection: Keep-Alive\r\n";
 
-      /* OK, now send the connect request to the proxy */
-      result =
-        Curl_sendf(tunnelsocket, conn,
-                   "CONNECT %s:%d HTTP/1.0\015\012"
-                   "%s"
-                   "%s"
-                   "\r\n",
-                   hostname, remote_port,
-                   conn->allocptr.proxyuserpwd?
-                   conn->allocptr.proxyuserpwd:"",
-                   data->set.useragent?conn->allocptr.uagent:""
-                   );
+      if(CURLE_OK == result) {
+        /* Send the connect request to the proxy */
+        /* BLOCKING */
+        result =
+          add_bufferf(req_buffer,
+                      "CONNECT %s:%d HTTP/1.0\r\n"
+                      "%s"  /* Host: */
+                      "%s"  /* Proxy-Authorization */
+                      "%s"  /* User-Agent */
+                      "%s", /* Proxy-Connection */
+                      hostname, remote_port,
+                      host,
+                      conn->allocptr.proxyuserpwd?
+                      conn->allocptr.proxyuserpwd:"",
+                      data->set.useragent?conn->allocptr.uagent:"",
+                      proxyconn);
+
+        if(CURLE_OK == result)
+          result = add_custom_headers(conn, req_buffer);
+
+        if(host && *host)
+          free(host);
+
+        if(CURLE_OK == result)
+          /* CRLF terminate the request */
+          result = add_bufferf(req_buffer, "\r\n");
+
+        if(CURLE_OK == result)
+          /* Now send off the request */
+          result = add_buffer_send(req_buffer, conn,
+                                   &data->info.request_size);
+      }
       if(result)
         failf(data, "Failed sending CONNECT to proxy");
     }
@@ -1367,7 +1429,42 @@ static CURLcode expect100(struct SessionHandle *data,
   return result;
 }
 
+static CURLcode add_custom_headers(struct connectdata *conn,
+                                   send_buffer *req_buffer)
+{
+  CURLcode result = CURLE_OK;
+  char *ptr;
+  struct curl_slist *headers=conn->data->set.headers;
+
+  while(headers) {
+    ptr = strchr(headers->data, ':');
+    if(ptr) {
+      /* we require a colon for this to be a true header */
+
+      ptr++; /* pass the colon */
+      while(*ptr && isspace((int)*ptr))
+        ptr++;
 
+      if(*ptr) {
+        /* only send this if the contents was non-blank */
+
+        if(conn->allocptr.host &&
+           /* a Host: header was sent already, don't pass on any custom Host:
+              header as that will produce *two* in the same request! */
+           curl_strnequal("Host:", headers->data, 5))
+          ;
+        else {
+
+          result = add_bufferf(req_buffer, "%s\r\n", headers->data);
+          if(result)
+            return result;
+        }
+      }
+    }
+    headers = headers->next;
+  }
+  return result;
+}
 
 /*
  * Curl_http() gets called from the generic Curl_do() function when a HTTP
@@ -1620,8 +1717,10 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
   }
 
 
-  if(!checkheaders(data, "Pragma:"))
-    http->p_pragma = "Pragma: no-cache\r\n";
+  http->p_pragma =
+    (!checkheaders(data, "Pragma:") &&
+     (conn->bits.httpproxy && !conn->bits.tunnel_proxy) )?
+    "Pragma: no-cache\r\n":NULL;
 
   if(!checkheaders(data, "Accept:"))
     http->p_accept = "Accept: */*\r\n";
@@ -1727,7 +1826,6 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
       data->set.httpversion==CURL_HTTP_VERSION_1_0?"1.0":"1.1";
 
     send_buffer *req_buffer;
-    struct curl_slist *headers=data->set.headers;
     curl_off_t postsize; /* off_t type to be able to hold a large file size */
 
     /* initialize a dynamic send-buffer */
@@ -1750,6 +1848,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
                   "%s" /* accept */
                   "%s" /* accept-encoding */
                   "%s" /* referer */
+                  "%s" /* Proxy-Connection */
                   "%s",/* transfer-encoding */
 
                 request,
@@ -1768,6 +1867,8 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
                 (data->set.encoding && *data->set.encoding && conn->allocptr.accept_encoding)?
                 conn->allocptr.accept_encoding:"",
                 (data->change.referer && conn->allocptr.ref)?conn->allocptr.ref:"" /* Referer: <data> */,
+                (conn->bits.httpproxy && !conn->bits.tunnel_proxy)?
+                  "Proxy-Connection: Keep-Alive\r\n":"",
                 te
                 );
 
@@ -1874,33 +1975,9 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
         return result;
     }
 
-    while(headers) {
-      ptr = strchr(headers->data, ':');
-      if(ptr) {
-        /* we require a colon for this to be a true header */
-
-        ptr++; /* pass the colon */
-        while(*ptr && isspace((int)*ptr))
-          ptr++;
-
-        if(*ptr) {
-          /* only send this if the contents was non-blank */
-
-          if(conn->allocptr.host &&
-            /* a Host: header was sent already, don't pass on any custom Host:
-               header as that will produce *two* in the same request! */
-             curl_strnequal("Host:", headers->data, 5))
-            ;
-          else {
-
-            result = add_bufferf(req_buffer, "%s\r\n", headers->data);
-            if(result)
-              return result;
-          }
-        }
-      }
-      headers = headers->next;
-    }
+    result = add_custom_headers(conn, req_buffer);
+    if(result)
+      return result;
 
     http->postdata = NULL;  /* nothing to post at this point */
     Curl_pgrsSetUploadSize(data, 0); /* upload size is 0 atm */
diff --git a/tests/data/test1 b/tests/data/test1
index 93a0f56263..6f88024cff 100644
--- a/tests/data/test1
+++ b/tests/data/test1
@@ -47,7 +47,6 @@ http://%HOSTIP:%HTTPPORT/1
 <protocol>
 GET /1 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test10 b/tests/data/test10
index a536d4eea6..f9fcbd7177 100644
--- a/tests/data/test10
+++ b/tests/data/test10
@@ -48,7 +48,6 @@ the
 <protocol>
 PUT /we/want/10 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 78
 Expect: 100-continue
diff --git a/tests/data/test11 b/tests/data/test11
index f304f523d0..e34a366466 100644
--- a/tests/data/test11
+++ b/tests/data/test11
@@ -62,12 +62,10 @@ http://%HOSTIP:%HTTPPORT/want/11 -L
 <protocol>
 GET /want/11 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /want/data/110002.txt?coolsite=yes HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test12 b/tests/data/test12
index 151ddb02c6..e49676a209 100644
--- a/tests/data/test12
+++ b/tests/data/test12
@@ -47,7 +47,6 @@ http://%HOSTIP:%HTTPPORT/want/12 -r 100-200
 GET /want/12 HTTP/1.1
 Range: bytes=100-200
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test13 b/tests/data/test13
index 7d247b25f1..3af6ff9b9c 100644
--- a/tests/data/test13
+++ b/tests/data/test13
@@ -36,7 +36,6 @@ http://%HOSTIP:%HTTPPORT/want/13 -X DELETE
 <protocol>
 DELETE /want/13 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test14 b/tests/data/test14
index 3e07e69e68..f10c6f488a 100644
--- a/tests/data/test14
+++ b/tests/data/test14
@@ -36,7 +36,6 @@ http://%HOSTIP:%HTTPPORT/want/14 -i --head
 HEAD /want/14 HTTP/1.1
 User-Agent: curl/7.4.2-pre4 (sparc-sun-solaris2.7) libcurl 7.4.2-pre4
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test15 b/tests/data/test15
index a3c557e92e..e0a82826f8 100644
--- a/tests/data/test15
+++ b/tests/data/test15
@@ -49,7 +49,6 @@ http://127.0.0.1:%HTTPPORT/want/15 200 26
 <protocol>
 GET /want/15 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test150 b/tests/data/test150
index 4afa7c22b7..301c0eb43b 100644
--- a/tests/data/test150
+++ b/tests/data/test150
@@ -67,14 +67,12 @@ GET /150 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /150 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test151 b/tests/data/test151
index c32d2d8a63..82a0e108d8 100644
--- a/tests/data/test151
+++ b/tests/data/test151
@@ -33,7 +33,6 @@ http://%HOSTIP:%HTTPPORT/151
 GET /151 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test152 b/tests/data/test152
index aaee6a41b7..12ba29c98c 100644
--- a/tests/data/test152
+++ b/tests/data/test152
@@ -33,7 +33,6 @@ http://%HOSTIP:%HTTPPORT/152 --fail
 GET /152 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test153 b/tests/data/test153
index 8acde6011c..1fd54a1f90 100644
--- a/tests/data/test153
+++ b/tests/data/test153
@@ -69,28 +69,24 @@ http://%HOSTIP:%HTTPPORT/1530001 -u testuser:testpass --digest http://%HOSTIP:%H
 <protocol>
 GET /1530001 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /1530001 HTTP/1.1
 Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530001", response="f4f83139396995bac665f24a1f1055c7"
 User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /1530002 HTTP/1.1
 Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530002", response="f84511b014fdd0ba6494f42871079c32"
 User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /1530002 HTTP/1.1
 Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/1530002", cnonce="MTA4MzIy", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm="MD5"
 User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test154 b/tests/data/test154
index 010137ecef..e3d8770828 100644
--- a/tests/data/test154
+++ b/tests/data/test154
@@ -74,7 +74,6 @@ four is the number of lines
 <protocol>
 PUT /154 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 85
 Expect: 100-continue
@@ -83,7 +82,6 @@ PUT /154 HTTP/1.1
 Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/154", response="b71551e12d1c456e47d8388ecb2edeca"
 User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 85
 Expect: 100-continue
diff --git a/tests/data/test155 b/tests/data/test155
index 62d680e18b..57826c828a 100644
--- a/tests/data/test155
+++ b/tests/data/test155
@@ -91,7 +91,6 @@ four is the number of lines
 <protocol>
 PUT /155 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 85
 Expect: 100-continue
@@ -99,7 +98,6 @@ Expect: 100-continue
 PUT /155 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 0
 Expect: 100-continue
@@ -108,7 +106,6 @@ PUT /155 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
 User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 85
 Expect: 100-continue
diff --git a/tests/data/test156 b/tests/data/test156
index 0ff9fd10ec..67deb08eed 100644
--- a/tests/data/test156
+++ b/tests/data/test156
@@ -38,7 +38,6 @@ four is the number of lines
 PUT /156 HTTP/1.1
 User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 85
 Expect: 100-continue
diff --git a/tests/data/test157 b/tests/data/test157
index c48d36fad8..67cf26c95b 100644
--- a/tests/data/test157
+++ b/tests/data/test157
@@ -31,7 +31,6 @@ http://%HOSTIP:%HTTPPORT/157 -u testuser:testpass --anyauth
 <protocol>
 GET /157 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test158 b/tests/data/test158
index 463b7a5a47..f3aaa7ebb5 100644
--- a/tests/data/test158
+++ b/tests/data/test158
@@ -31,7 +31,6 @@ http://%HOSTIP:%HTTPPORT/158 -F name=daniel
 POST /158 HTTP/1.1
 User-Agent: curl/7.11.2-CVS (i686-pc-linux-gnu) libcurl/7.11.2-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 145
 Expect: 100-continue
diff --git a/tests/data/test159 b/tests/data/test159
index 1fd60c5a7a..007a10c608 100644
--- a/tests/data/test159
+++ b/tests/data/test159
@@ -67,14 +67,12 @@ GET /159 HTTP/1.0
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /159 HTTP/1.0
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test16 b/tests/data/test16
index b7c3d5d357..7d2a8b4061 100644
--- a/tests/data/test16
+++ b/tests/data/test16
@@ -43,6 +43,7 @@ Proxy-Authorization: Basic ZmFrZUB1c2VyOqenp2xvb29vb29vb29vb29vb29vb29vb29vb29vb
 Host: we.want.that.site.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test160 b/tests/data/test160
index 18f3dece55..c831cce1f0 100644
--- a/tests/data/test160
+++ b/tests/data/test160
@@ -54,12 +54,10 @@ surprise2
 <protocol>
 GET /want/160 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /wantmore/1600001 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test162 b/tests/data/test162
index 03ffc02d0f..679832b7f9 100644
--- a/tests/data/test162
+++ b/tests/data/test162
@@ -40,6 +40,7 @@ User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 <errorcode>
diff --git a/tests/data/test163 b/tests/data/test163
index 6712e24ead..c51adfccbe 100644
--- a/tests/data/test163
+++ b/tests/data/test163
@@ -43,7 +43,6 @@ yes please
 POST /we/want/163 HTTP/1.1
 User-Agent: curl/7.11.2-CVS (i686-pc-linux-gnu) libcurl/7.11.2-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.0.0
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 304
 Expect: 100-continue
diff --git a/tests/data/test164 b/tests/data/test164
index 10d5fd657a..3aa03c4819 100644
--- a/tests/data/test164
+++ b/tests/data/test164
@@ -52,7 +52,6 @@ http://%HOSTIP:%HTTPPORT/want/164 -r 0-10,12-15
 GET /want/164 HTTP/1.1
 Range: bytes=0-10,12-15
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test165 b/tests/data/test165
index 4945dace53..20ef32d38d 100644
--- a/tests/data/test165
+++ b/tests/data/test165
@@ -42,6 +42,7 @@ GET http://www.xn--4cab6c.se/page/165 HTTP/1.1
 Host: www.xn--4cab6c.se
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test166 b/tests/data/test166
index 9a9704b0e3..edc184abf0 100644
--- a/tests/data/test166
+++ b/tests/data/test166
@@ -35,7 +35,6 @@ data inside the file
 POST /we/want/166 HTTP/1.1
 User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 223
 Expect: 100-continue
diff --git a/tests/data/test167 b/tests/data/test167
index 58ced40617..a23d94ba7a 100644
--- a/tests/data/test167
+++ b/tests/data/test167
@@ -49,6 +49,7 @@ User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6
 Host: data.from.server.requiring.digest.hohoho.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://data.from.server.requiring.digest.hohoho.com/167 HTTP/1.1
 Proxy-Authorization: Basic Zm9vOmJhcg==
@@ -57,6 +58,7 @@ User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6
 Host: data.from.server.requiring.digest.hohoho.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test168 b/tests/data/test168
index 80f37ac258..dbaf667c94 100644
--- a/tests/data/test168
+++ b/tests/data/test168
@@ -62,6 +62,7 @@ User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6
 Host: data.from.server.requiring.digest.hohoho.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
 Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976"
@@ -69,6 +70,7 @@ User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6
 Host: data.from.server.requiring.digest.hohoho.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
 Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976"
@@ -77,6 +79,7 @@ User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6
 Host: data.from.server.requiring.digest.hohoho.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test169 b/tests/data/test169
index 3ae9e90483..3f377f4010 100644
--- a/tests/data/test169
+++ b/tests/data/test169
@@ -87,6 +87,7 @@ User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6
 Host: data.from.server.requiring.digest.hohoho.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
 Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEMAAAAYABgAWwAAAAAAAABAAAAAAwADAEAAAAAAAAAAQwAAAAAAAABzAAAAAYIAAGZvb4P6B+XVQ6vQsx3DfDXUVhd9436GAxPu0IYcl2Z7LxHmNeOAWQ+vxUmhuCFJBUgXCQ==
@@ -94,6 +95,7 @@ User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6
 Host: data.from.server.requiring.digest.hohoho.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
 Authorization: Digest username="digest", realm="r e a l m", nonce="abcdef", uri="/169", response="95d48591985a03c4b49cb962aa7bd3e6"
@@ -101,6 +103,7 @@ User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6
 Host: data.from.server.requiring.digest.hohoho.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test17 b/tests/data/test17
index 25de5d4bb8..54c5910841 100644
--- a/tests/data/test17
+++ b/tests/data/test17
@@ -46,7 +46,6 @@ request MOOO
 MOOO /that.site.com/17 HTTP/1.1
 User-Agent: agent007 license to drill	
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test170 b/tests/data/test170
index d8c6494d06..9f42f1ea5b 100644
--- a/tests/data/test170
+++ b/tests/data/test170
@@ -30,6 +30,7 @@ User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6
 Host: a.galaxy.far.far.away
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 0
 
 </protocol>
diff --git a/tests/data/test171 b/tests/data/test171
index 26bbf2e7f4..090cd19813 100644
--- a/tests/data/test171
+++ b/tests/data/test171
@@ -35,6 +35,7 @@ GET http://z.x.com/171 HTTP/1.1
 Host: z.x.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 <file name="log/jar171">
diff --git a/tests/data/test172 b/tests/data/test172
index 513e44cd26..8ad96787ad 100644
--- a/tests/data/test172
+++ b/tests/data/test172
@@ -39,7 +39,6 @@ http://%HOSTIP:%HTTPPORT/we/want/172 -b log/jar172.txt -b "tool=curl; name=fool"
 <protocol>
 GET /we/want/172 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Cookie: nodomain=value; partmatch=present; tool=curl; name=fool
 
diff --git a/tests/data/test173 b/tests/data/test173
index 8d668dd355..130fa9e075 100644
--- a/tests/data/test173
+++ b/tests/data/test173
@@ -43,7 +43,6 @@ line8
 POST /we/want/173 HTTP/1.1
 User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 359
 Expect: 100-continue
diff --git a/tests/data/test174 b/tests/data/test174
index 4b8795bab9..32130f1be2 100644
--- a/tests/data/test174
+++ b/tests/data/test174
@@ -33,7 +33,6 @@ http://%HOSTIP:%HTTPPORT/174 -u testuser:testpass --anyauth -d "junkelijunk"
 POST /174 HTTP/1.1
 User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 11
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test175 b/tests/data/test175
index e8891926ae..3a979af983 100644
--- a/tests/data/test175
+++ b/tests/data/test175
@@ -55,7 +55,6 @@ http://%HOSTIP:%HTTPPORT/175 -u auser:apasswd --digest -d "junkelijunk"
 POST /175 HTTP/1.1
 User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 0
 Content-Type: application/x-www-form-urlencoded
@@ -63,7 +62,6 @@ Content-Type: application/x-www-form-urlencoded
 POST /175 HTTP/1.1
 User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 11
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test176 b/tests/data/test176
index 2fed0ededf..82f5574d9e 100644
--- a/tests/data/test176
+++ b/tests/data/test176
@@ -59,7 +59,6 @@ POST /176 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 0
 Content-Type: application/x-www-form-urlencoded
@@ -67,7 +66,6 @@ Content-Type: application/x-www-form-urlencoded
 POST /176 HTTP/1.1
 User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 11
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test177 b/tests/data/test177
index 2d7d04c80e..989eeb146f 100644
--- a/tests/data/test177
+++ b/tests/data/test177
@@ -32,7 +32,6 @@ http://%HOSTIP:%HTTPPORT/177 -u auser:apasswd --digest -d "junkelijunk"
 POST /177 HTTP/1.1
 User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 0
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test178 b/tests/data/test178
index 45bb9a2e74..efb56c0a4e 100644
--- a/tests/data/test178
+++ b/tests/data/test178
@@ -35,7 +35,6 @@ http://%HOSTIP:%HTTPPORT/178
 <protocol>
 GET /178 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test179 b/tests/data/test179
index edef6bbd50..6d2249ee18 100644
--- a/tests/data/test179
+++ b/tests/data/test179
@@ -40,6 +40,7 @@ GET http://supertrooper.fake/c/179 HTTP/1.1
 Host: supertrooper.fake
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Cookie: moo2=indeed
 
 </protocol>
diff --git a/tests/data/test18 b/tests/data/test18
index 283cbe2b12..d235ffa412 100644
--- a/tests/data/test18
+++ b/tests/data/test18
@@ -52,19 +52,16 @@ multiple requests using {} in URL
 GET /18 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /180002 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /180003 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test180 b/tests/data/test180
index d76d637790..5477bcc280 100644
--- a/tests/data/test180
+++ b/tests/data/test180
@@ -41,7 +41,6 @@ the
 <protocol>
 PUT /we/want/180 HTTP/1.0
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 78
 
diff --git a/tests/data/test181 b/tests/data/test181
index 15d9d2a8dd..76fb32c7ce 100644
--- a/tests/data/test181
+++ b/tests/data/test181
@@ -41,7 +41,6 @@ the
 <protocol>
 POST /we/want/181 HTTP/1.0
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 79
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test183 b/tests/data/test183
index 149eeb4472..f7e54fa341 100644
--- a/tests/data/test183
+++ b/tests/data/test183
@@ -36,12 +36,14 @@ User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6
 Host: deathstar.another.galaxy
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://a.galaxy.far.far.away/183 HTTP/1.1
 User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
 Host: a.galaxy.far.far.away
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 
diff --git a/tests/data/test184 b/tests/data/test184
index 3ce1861628..cd8de6315f 100644
--- a/tests/data/test184
+++ b/tests/data/test184
@@ -55,12 +55,14 @@ GET http://deathstar.another.galaxy/184 HTTP/1.1
 User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Host: another.visitor.stay.a.while.stay.foreeeeeever
 
 GET http://yet.another.host/184 HTTP/1.1
 Host: yet.another.host
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 
diff --git a/tests/data/test185 b/tests/data/test185
index 890a1abb6f..9799c61c70 100644
--- a/tests/data/test185
+++ b/tests/data/test185
@@ -55,11 +55,13 @@ GET http://deathstar.another.galaxy/185 HTTP/1.1
 User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Host: another.visitor.stay.a.while.stay.foreeeeeever
 
 GET http://deathstar.another.galaxy/go/west/185 HTTP/1.1
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Host: another.visitor.stay.a.while.stay.foreeeeeever
 
 </protocol>
diff --git a/tests/data/test186 b/tests/data/test186
index 1450d4e6b6..e878bca809 100644
--- a/tests/data/test186
+++ b/tests/data/test186
@@ -33,7 +33,6 @@ http://%HOSTIP:%HTTPPORT/we/want/186 -F "name=daniel;type=moo/foo" -F "html= <bo
 POST /we/want/186 HTTP/1.1
 User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.7d zlib/1.2.1.1 c-ares/1.2.0 libidn/0.5.2
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 305
 Expect: 100-continue
diff --git a/tests/data/test187 b/tests/data/test187
index 28405d2ad4..67aace5d1d 100644
--- a/tests/data/test187
+++ b/tests/data/test187
@@ -55,12 +55,10 @@ http://%HOSTIP:%HTTPPORT?oh=what-weird=test/187 -L
 <protocol>
 GET /?oh=what-weird=test/187 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /root/1870002.txt?coolsite=yes HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test188 b/tests/data/test188
index e61cb9d98a..f6eded22bd 100644
--- a/tests/data/test188
+++ b/tests/data/test188
@@ -54,14 +54,12 @@ GET /188 HTTP/1.1
 Range: bytes=50-
 User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /188 HTTP/1.1
 Range: bytes=50-
 User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.7d zlib/1.2.1.2 libidn/0.5.2
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test189 b/tests/data/test189
index 5358823302..1885c57e40 100644
--- a/tests/data/test189
+++ b/tests/data/test189
@@ -51,14 +51,12 @@ GET /189 HTTP/1.1
 Range: bytes=50-
 User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /189 HTTP/1.1
 Range: bytes=50-
 User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.7d zlib/1.2.1.2 libidn/0.5.2
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test192 b/tests/data/test192
index 0973cdb6d0..e29cdcbc75 100644
--- a/tests/data/test192
+++ b/tests/data/test192
@@ -34,7 +34,6 @@ http://%HOSTIP:%HTTPPORT/192 -w '%{num_connects}\n'
 <protocol>
 GET /192 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test193 b/tests/data/test193
index 0d7cbc58eb..7c53de6c88 100644
--- a/tests/data/test193
+++ b/tests/data/test193
@@ -44,12 +44,10 @@ http://%HOSTIP:%HTTPPORT/193 -w '%{num_connects}\n' -L
 <protocol>
 GET /193 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /193 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test194 b/tests/data/test194
index 4e6e0f386f..9842551ce3 100644
--- a/tests/data/test194
+++ b/tests/data/test194
@@ -38,7 +38,6 @@ http://%HOSTIP:%HTTPPORT/want/194 -C 87 --fail
 GET /want/194 HTTP/1.1
 Range: bytes=87-
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test197 b/tests/data/test197
index 2f73e8e925..59ee260294 100644
--- a/tests/data/test197
+++ b/tests/data/test197
@@ -42,12 +42,10 @@ http://%HOSTIP:%HTTPPORT/197 --retry 1000
 <protocol>
 GET /197 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /197 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test198 b/tests/data/test198
index 90d52ded38..51d0e6f020 100644
--- a/tests/data/test198
+++ b/tests/data/test198
@@ -51,12 +51,10 @@ http://%HOSTIP:%HTTPPORT/198 --retry 1000
 <protocol>
 GET /198 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /198 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test199 b/tests/data/test199
index 875815eb4d..2b2b435df1 100644
--- a/tests/data/test199
+++ b/tests/data/test199
@@ -40,12 +40,10 @@ HTTP with -d, -G and {}
 <protocol>
 GET /199?foo=moo&moo=poo HTTP/1.1
 Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /199?foo=moo&moo=poo HTTP/1.1
 Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test2 b/tests/data/test2
index e2aedff7bc..c701e79ba0 100644
--- a/tests/data/test2
+++ b/tests/data/test2
@@ -42,7 +42,6 @@ HTTP GET with user and password
 GET /2 HTTP/1.1
 Authorization: Basic ZmFrZTp1c2Vy
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test206 b/tests/data/test206
index 7bcba288e5..b60393dfea 100644
--- a/tests/data/test206
+++ b/tests/data/test206
@@ -67,14 +67,17 @@ http://test.remote.server.com:206/path/2060002 --proxy http://%HOSTIP:%HTTPPORT
 </strip>
 <protocol>
 CONNECT test.remote.server.com:206 HTTP/1.0
+Host: test.remote.server.com:206
+Proxy-Connection: Keep-Alive
 
 CONNECT test.remote.server.com:206 HTTP/1.0
+Host: test.remote.server.com:206
 Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.server.com:206", response="5059a96c954981ceb94e17d667c8d3f8"
+Proxy-Connection: Keep-Alive
 
 GET /path/2060002 HTTP/1.1
 User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
 Host: test.remote.server.com:206
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test207 b/tests/data/test207
index f40ecf05ca..48d556d7e2 100644
--- a/tests/data/test207
+++ b/tests/data/test207
@@ -44,7 +44,6 @@ http://%HOSTIP:%HTTPPORT/207
 <protocol>
 GET /207 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test208 b/tests/data/test208
index 2a4669c139..d57b79fd85 100644
--- a/tests/data/test208
+++ b/tests/data/test208
@@ -45,6 +45,7 @@ Authorization: Basic ZGFuaWVsOm15c2VjcmV0
 Host: host.com:21
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 78
 Expect: 100-continue
 
diff --git a/tests/data/test209 b/tests/data/test209
index e915ddd73b..bc699fb4ad 100644
--- a/tests/data/test209
+++ b/tests/data/test209
@@ -80,15 +80,18 @@ http://test.remote.server.com:209/path/2090002 --proxy http://%HOSTIP:%HTTPPORT
 </strip>
 <protocol>
 CONNECT test.remote.server.com:209 HTTP/1.0
+Host: test.remote.server.com:209
 Proxy-Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
+Proxy-Connection: Keep-Alive
 
 CONNECT test.remote.server.com:209 HTTP/1.0
+Host: test.remote.server.com:209
 Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEUAAAAYABgAXQAAAAAAAABAAAAABQAFAEAAAAAAAAAARQAAAAAAAAB1AAAAAYIAAHNpbGx5oB5CPMq0JDu5tbxLow3sHn3jfoYDE+7QJVE7DA0GyDEwvj2BxsBctP9tT4fnCtL1
+Proxy-Connection: Keep-Alive
 
 GET /path/2090002 HTTP/1.1
 User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
 Host: test.remote.server.com:209
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test213 b/tests/data/test213
index 6ec4933fc6..836fdd36d9 100644
--- a/tests/data/test213
+++ b/tests/data/test213
@@ -80,15 +80,18 @@ http://test.remote.server.com:213/path/2130002 --proxy http://%HOSTIP:%HTTPPORT
 </strip>
 <protocol nonewline=yes>
 CONNECT test.remote.server.com:213 HTTP/1.0
+Host: test.remote.server.com:213
 Proxy-Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
+Proxy-Connection: Keep-Alive
 
 CONNECT test.remote.server.com:213 HTTP/1.0
+Host: test.remote.server.com:213
 Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEUAAAAYABgAXQAAAAAAAABAAAAABQAFAEAAAAAAAAAARQAAAAAAAAB1AAAAAYIAAHNpbGx5oB5CPMq0JDu5tbxLow3sHn3jfoYDE+7QJVE7DA0GyDEwvj2BxsBctP9tT4fnCtL1
+Proxy-Connection: Keep-Alive
 
 POST /path/2130002 HTTP/1.1
 User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
 Host: test.remote.server.com:213
-Pragma: no-cache
 Accept: */*
 Content-Length: 6
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test214 b/tests/data/test214
index 8a7405b451..f79f485203 100644
--- a/tests/data/test214
+++ b/tests/data/test214
@@ -35,7 +35,6 @@ HTTP URL with escaped { and }
 <protocol>
 GET /{}\/214 HTTP/1.1
 Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test217 b/tests/data/test217
index 82c8b150b9..c74ac9cb5e 100644
--- a/tests/data/test217
+++ b/tests/data/test217
@@ -30,6 +30,8 @@ http://test.remote.server.com:217/path/2170002 --proxy http://%HOSTIP:%HTTPPORT
 </strip>
 <protocol>
 CONNECT test.remote.server.com:217 HTTP/1.0
+Host: test.remote.server.com:217
+Proxy-Connection: Keep-Alive
 
 </protocol>
 # CURLE_RECV_ERROR
diff --git a/tests/data/test218 b/tests/data/test218
index 73f193a38c..bcf5d7a472 100644
--- a/tests/data/test218
+++ b/tests/data/test218
@@ -37,7 +37,6 @@ just some tiny teeny contents
 <protocol>
 PUT /218 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Transfer-Encoding: chunked
 Expect: 100-continue
diff --git a/tests/data/test22 b/tests/data/test22
index f2f16066b0..206e5f3dd4 100644
--- a/tests/data/test22
+++ b/tests/data/test22
@@ -38,7 +38,6 @@ get HTTP with URL > 10000 bytes
 GET /aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 HTTP/1.1
 User-Agent: curl/7.4.2 (sparc-sun-solaris2.7) libcurl 7.4.2 (SSL 0.9.6)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol
diff --git a/tests/data/test220 b/tests/data/test220
index 7cde3d7509..87138cf5d6 100644
--- a/tests/data/test220
+++ b/tests/data/test220
@@ -52,7 +52,6 @@ http://%HOSTIP:%HTTPPORT/220 --compressed
 <protocol>
 GET /220 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Accept-Encoding: deflate, gzip
 
diff --git a/tests/data/test221 b/tests/data/test221
index c07fb58f22..2ea9ea94d1 100644
--- a/tests/data/test221
+++ b/tests/data/test221
@@ -51,7 +51,6 @@ http://%HOSTIP:%HTTPPORT/221 --compressed
 <protocol>
 GET /221 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Accept-Encoding: deflate, gzip
 
diff --git a/tests/data/test222 b/tests/data/test222
index b850f5d537..4c136dad04 100644
--- a/tests/data/test222
+++ b/tests/data/test222
@@ -183,7 +183,6 @@ http://%HOSTIP:%HTTPPORT/222 --compressed
 <protocol>
 GET /222 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Accept-Encoding: deflate, gzip
 
diff --git a/tests/data/test223 b/tests/data/test223
index 0b1e0110ff..32bea35ca6 100644
--- a/tests/data/test223
+++ b/tests/data/test223
@@ -72,7 +72,6 @@ http://%HOSTIP:%HTTPPORT/223 --compressed
 <protocol>
 GET /223 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Accept-Encoding: deflate, gzip
 
diff --git a/tests/data/test224 b/tests/data/test224
index e830d0b07c..bdd3f846a2 100644
--- a/tests/data/test224
+++ b/tests/data/test224
@@ -88,7 +88,6 @@ http://%HOSTIP:%HTTPPORT/224 --compressed
 <protocol>
 GET /224 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Accept-Encoding: deflate, gzip
 
diff --git a/tests/data/test233 b/tests/data/test233
index 0e329f7b6d..a428408b78 100644
--- a/tests/data/test233
+++ b/tests/data/test233
@@ -70,12 +70,14 @@ Authorization: Basic aWFtOm15c2VsZg==
 Host: first.host.it.is
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://goto.second.host.now/2330002 HTTP/1.1
 Proxy-Authorization: Basic dGVzdGluZzp0aGlz
 Host: goto.second.host.now
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test234 b/tests/data/test234
index 02054d041c..9c7d8c14ec 100644
--- a/tests/data/test234
+++ b/tests/data/test234
@@ -70,6 +70,7 @@ Authorization: Basic aWFtOm15c2VsZg==
 Host: first.host.it.is
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://goto.second.host.now/2340002 HTTP/1.1
 Proxy-Authorization: Basic dGVzdGluZzp0aGlz
@@ -77,6 +78,7 @@ Authorization: Basic aWFtOm15c2VsZg==
 Host: goto.second.host.now
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test239 b/tests/data/test239
index 6df716f92a..591da70b8c 100644
--- a/tests/data/test239
+++ b/tests/data/test239
@@ -63,6 +63,7 @@ User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7
 Host: %HOSTIP:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 0
 Content-Type: application/x-www-form-urlencoded
 
@@ -72,6 +73,7 @@ User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7
 Host: 127.0.0.1:8990
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 6
 Content-Type: application/x-www-form-urlencoded
 
diff --git a/tests/data/test24 b/tests/data/test24
index d6590578cd..be12be5d0a 100644
--- a/tests/data/test24
+++ b/tests/data/test24
@@ -36,7 +36,6 @@ http://%HOSTIP:%HTTPPORT/24 --fail
 GET /24 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test240 b/tests/data/test240
index e7617eec75..c66aa6423e 100644
--- a/tests/data/test240
+++ b/tests/data/test240
@@ -43,7 +43,6 @@ HTTP-IPv6 GET
 <protocol>
 GET /240 HTTP/1.1
 Host: %HOST6IP:%HTTP6PORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test241 b/tests/data/test241
index 4f3d64b66f..e1a1ebba25 100644
--- a/tests/data/test241
+++ b/tests/data/test241
@@ -37,7 +37,6 @@ HTTP-IPv6 GET (using ip6-localhost)
 <protocol>
 GET /241 HTTP/1.1
 Host: ip6-localhost:%HTTP6PORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test242 b/tests/data/test242
index 205f4de4ae..cc4c66e774 100644
--- a/tests/data/test242
+++ b/tests/data/test242
@@ -38,7 +38,6 @@ HTTP-IPv6 GET with username+password in URL
 GET /242 HTTP/1.1
 Authorization: Basic Zm9vYmFyOmJhcmZvbw==
 Host: %HOST6IP:%HTTP6PORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test243 b/tests/data/test243
index fd3f6a939c..ebfdbb61d3 100644
--- a/tests/data/test243
+++ b/tests/data/test243
@@ -82,6 +82,7 @@ User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7
 Host: 127.0.0.1:8990
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 6
 Content-Type: application/x-www-form-urlencoded
 
@@ -91,6 +92,7 @@ User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7
 Host: %HOSTIP:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 0
 Content-Type: application/x-www-form-urlencoded
 
@@ -100,6 +102,7 @@ User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7
 Host: 127.0.0.1:8990
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 6
 Content-Type: application/x-www-form-urlencoded
 
diff --git a/tests/data/test245 b/tests/data/test245
index 425c006dd4..c4de97b834 100644
--- a/tests/data/test245
+++ b/tests/data/test245
@@ -57,7 +57,6 @@ http://%HOSTIP:%HTTPPORT/245 -u auser:apasswd --digest -d "junkelijunk"
 POST /245 HTTP/1.1
 User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 0
 Content-Type: application/x-www-form-urlencoded
@@ -66,7 +65,6 @@ POST /245 HTTP/1.1
 Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/245", response="379a439b1737ba257c1d2f103914b18b"
 User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
 Host: 127.0.0.1:8990
-Pragma: no-cache
 Accept: */*
 Content-Length: 11
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test246 b/tests/data/test246
index cfd12b0e71..540f1d7944 100644
--- a/tests/data/test246
+++ b/tests/data/test246
@@ -67,7 +67,6 @@ http://%HOSTIP:%HTTPPORT/246 -u auser:apasswd --digest -d "junkelijunk"
 POST /246 HTTP/1.1
 User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 0
 Content-Type: application/x-www-form-urlencoded
@@ -76,7 +75,6 @@ POST /246 HTTP/1.1
 Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/246", response="761e6fc9a760c39d587092e8d840e740"
 User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
 Host: 127.0.0.1:8990
-Pragma: no-cache
 Accept: */*
 Content-Length: 11
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test249 b/tests/data/test249
index 73f3b7f604..f196e23ee2 100644
--- a/tests/data/test249
+++ b/tests/data/test249
@@ -38,7 +38,6 @@ http://%HOSTIP:%HTTPPORT/249 -z "dec 12 12:00:00 1999 GMT"
 <protocol>
 GET /249 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 If-Modified-Since: Sun, 12 Dec 1999 12:00:00 GMT
 
diff --git a/tests/data/test25 b/tests/data/test25
index 5e0b706ccc..f745357e99 100644
--- a/tests/data/test25
+++ b/tests/data/test25
@@ -79,37 +79,31 @@ http://%HOSTIP:%HTTPPORT/want/25 -L --max-redirs 5
 GET /want/25 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /want/data/reply/25 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /want/data/reply/data/reply/25 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /want/data/reply/data/reply/data/reply/25 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /want/data/reply/data/reply/data/reply/data/reply/25 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /want/data/reply/data/reply/data/reply/data/reply/data/reply/25 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test256 b/tests/data/test256
index bafeb81edc..38a38ba08b 100644
--- a/tests/data/test256
+++ b/tests/data/test256
@@ -51,6 +51,7 @@ Range: bytes=78-
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 
diff --git a/tests/data/test257 b/tests/data/test257
index 88a872c091..5c81409cfa 100644
--- a/tests/data/test257
+++ b/tests/data/test257
@@ -90,6 +90,7 @@ User-Agent: curl/7.14.0-CVS (i686-pc-linux-gnu) libcurl/7.14.0-CVS OpenSSL/0.9.7
 Host: supersite.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://anotherone.com/2570002 HTTP/1.1
 Authorization: Basic dXNlcjI6cGFzc3dkMg==
@@ -97,12 +98,14 @@ User-Agent: curl/7.14.0-CVS (i686-pc-linux-gnu) libcurl/7.14.0-CVS OpenSSL/0.9.7
 Host: anotherone.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://athird.com/2570003 HTTP/1.1
 User-Agent: curl/7.14.0-CVS (i686-pc-linux-gnu) libcurl/7.14.0-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
 Host: athird.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test258 b/tests/data/test258
index 7b115eaa1d..947f0e0cda 100644
--- a/tests/data/test258
+++ b/tests/data/test258
@@ -77,6 +77,7 @@ User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 z
 Host: remotehost:54321
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 409
 Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
 
@@ -103,6 +104,7 @@ Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911"
 Host: remotehost:54321
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 409
 Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
 
diff --git a/tests/data/test259 b/tests/data/test259
index d7deb00948..84017407dd 100644
--- a/tests/data/test259
+++ b/tests/data/test259
@@ -74,6 +74,7 @@ User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 z
 Host: remotehost:54321
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 409
 Expect: 100-continue
 Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
@@ -101,6 +102,7 @@ Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911"
 Host: remotehost:54321
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 Content-Length: 409
 Expect: 100-continue
 Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
diff --git a/tests/data/test26 b/tests/data/test26
index 41f80e42a0..01b1bd7f3b 100644
--- a/tests/data/test26
+++ b/tests/data/test26
@@ -37,7 +37,6 @@ http://%HOSTIP:%HTTPPORT/want/26 -o - -o -
 GET /want/26 HTTP/1.1
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test27 b/tests/data/test27
index df8599771b..60a474aef8 100644
--- a/tests/data/test27
+++ b/tests/data/test27
@@ -37,18 +37,15 @@ Get same cookie page several times
 <protocol>
 GET /want/27 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /want/27 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Cookie: thewinneris=nowayyouwin
 
 GET /want/27 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Cookie: thewinneris=nowayyouwin
 
diff --git a/tests/data/test28 b/tests/data/test28
index a746f23488..355924fa61 100644
--- a/tests/data/test28
+++ b/tests/data/test28
@@ -61,12 +61,10 @@ http://%HOSTIP:%HTTPPORT/want/28 -L
 <protocol>
 GET /want/28 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test29 b/tests/data/test29
index c258f6af69..5d18c39ae8 100644
--- a/tests/data/test29
+++ b/tests/data/test29
@@ -41,7 +41,6 @@ http://%HOSTIP:%HTTPPORT/want/29 -m 2
 <protocol>
 GET /want/29 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test3 b/tests/data/test3
index 9e13b0d6c3..2dc78967e1 100644
--- a/tests/data/test3
+++ b/tests/data/test3
@@ -49,7 +49,6 @@ HTTP POST with auth and contents but with content-length set to 0
 POST /3 HTTP/1.1
 Authorization: Basic ZmFrZTotdXNlcg==
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 37
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test30 b/tests/data/test30
index 01b86f6cad..efb1836403 100644
--- a/tests/data/test30
+++ b/tests/data/test30
@@ -32,7 +32,6 @@ http://%HOSTIP:%HTTPPORT/want/30
 <protocol>
 GET /want/30 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test300 b/tests/data/test300
index b96caa0267..1c2d3b12d3 100644
--- a/tests/data/test300
+++ b/tests/data/test300
@@ -37,7 +37,6 @@ simple HTTPS GET
 <protocol>
 GET /300 HTTP/1.1
 Host: 127.0.0.1:%HTTPSPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test301 b/tests/data/test301
index 558979002c..a93559b780 100644
--- a/tests/data/test301
+++ b/tests/data/test301
@@ -38,7 +38,6 @@ HTTPS GET with user and password
 GET /301 HTTP/1.1
 Authorization: Basic ZmFrZTp1c2Vy
 Host: 127.0.0.1:%HTTPSPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test303 b/tests/data/test303
index 9f5b1ece84..bf221f8896 100644
--- a/tests/data/test303
+++ b/tests/data/test303
@@ -36,7 +36,6 @@ http://%HOSTIP:%HTTPPORT/want/303 -m 2
 <protocol>
 GET /want/303 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test304 b/tests/data/test304
index f3363242e3..459034c2c6 100644
--- a/tests/data/test304
+++ b/tests/data/test304
@@ -39,7 +39,6 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 POST /we/want/304 HTTP/1.1
 User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPSPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 1386
 Expect: 100-continue
diff --git a/tests/data/test306 b/tests/data/test306
index 438337b64e..c0f3f09e1e 100644
--- a/tests/data/test306
+++ b/tests/data/test306
@@ -50,7 +50,6 @@ HTTPS GET, receive no headers only data!
 <protocol>
 GET /306 HTTP/1.1
 Host: 127.0.0.1:%HTTPSPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test31 b/tests/data/test31
index 879cd62a82..be312a59a6 100644
--- a/tests/data/test31
+++ b/tests/data/test31
@@ -51,7 +51,6 @@ http://%HOSTIP:%HTTPPORT/we/want/31 -b none -c log/jar31.txt
 <protocol>
 GET /we/want/31 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test32 b/tests/data/test32
index b381aa8a5a..da0517f0bd 100644
--- a/tests/data/test32
+++ b/tests/data/test32
@@ -48,7 +48,6 @@ HTTP with -d and -G
 GET /32?foo=moo&moo=poo HTTP/1.1
 User-Agent: curl/7.9.5 (i686-pc-linux-gnu) libcurl 7.9.5-cvs (OpenSSL 0.9.5) (ipv6 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test33 b/tests/data/test33
index 77b36c419b..780c94e046 100644
--- a/tests/data/test33
+++ b/tests/data/test33
@@ -49,7 +49,6 @@ PUT /33 HTTP/1.1
 Content-Range: bytes 50-99/100
 User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 50
 Expect: 100-continue
diff --git a/tests/data/test34 b/tests/data/test34
index 9cfa288a09..a05ba75164 100644
--- a/tests/data/test34
+++ b/tests/data/test34
@@ -57,7 +57,6 @@ http://%HOSTIP:%HTTPPORT/34
 <protocol>
 GET /34 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test36 b/tests/data/test36
index f4997b0462..a71348e73f 100644
--- a/tests/data/test36
+++ b/tests/data/test36
@@ -57,7 +57,6 @@ http://%HOSTIP:%HTTPPORT/36
 <protocol>
 GET /36 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test37 b/tests/data/test37
index 5a2e6b14cd..3d39295b59 100644
--- a/tests/data/test37
+++ b/tests/data/test37
@@ -38,7 +38,6 @@ http://%HOSTIP:%HTTPPORT/37
 <protocol>
 GET /37 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test38 b/tests/data/test38
index a2fdfc89fe..bf8cce8bdb 100644
--- a/tests/data/test38
+++ b/tests/data/test38
@@ -47,7 +47,6 @@ download on.
 GET /want/38 HTTP/1.1
 Range: bytes=78-
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test39 b/tests/data/test39
index 8f86491cd7..862a243853 100644
--- a/tests/data/test39
+++ b/tests/data/test39
@@ -45,7 +45,6 @@ foo
 POST /we/want/39 HTTP/1.1
 User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 810
 Expect: 100-continue
diff --git a/tests/data/test4 b/tests/data/test4
index 2577343892..342afadcd6 100644
--- a/tests/data/test4
+++ b/tests/data/test4
@@ -42,7 +42,6 @@ Replaced internal and added custom HTTP headers
 <protocol>
 GET /4 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 extra-header: here
 Accept: replaced
 
diff --git a/tests/data/test40 b/tests/data/test40
index ba0972b3f4..c3bbe79562 100644
--- a/tests/data/test40
+++ b/tests/data/test40
@@ -61,13 +61,11 @@ http://%HOSTIP:%HTTPPORT/we/are/all/twits/40 -L
 <protocol>
 GET /we/are/all/twits/40 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /we/are/all/moo.html/?name=d+a+niel&testcase=/400002 HTTP/1.1
 User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test42 b/tests/data/test42
index 4bd1b6fdec..df0edd5dd5 100644
--- a/tests/data/test42
+++ b/tests/data/test42
@@ -61,13 +61,11 @@ http://%HOSTIP:%HTTPPORT/we/are/all/twits/42 -L
 <protocol>
 GET /we/are/all/twits/42 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /we/are/all/m%20o%20o.html/420002 HTTP/1.1
 User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test43 b/tests/data/test43
index 44ce45cdd1..1ee0e2f89b 100644
--- a/tests/data/test43
+++ b/tests/data/test43
@@ -65,11 +65,13 @@ GET http://127.0.0.1:%HTTPPORT/want/43 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://127.0.0.1:%HTTPPORT/want/data/430002.txt?coolsite=yes HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test44 b/tests/data/test44
index 70f8ac903b..ab66d11c00 100644
--- a/tests/data/test44
+++ b/tests/data/test44
@@ -45,7 +45,6 @@ bar
 POST /we/want/44 HTTP/1.1
 User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 408
 Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
diff --git a/tests/data/test45 b/tests/data/test45
index 962ced5fa0..b8d76201d0 100644
--- a/tests/data/test45
+++ b/tests/data/test45
@@ -62,12 +62,10 @@ simple HTTP Location: without protocol in initial URL
 <protocol>
 GET /want/45 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /want/data.cgi?moo=http://&/450002 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test46 b/tests/data/test46
index df3f621e64..da15c1b482 100644
--- a/tests/data/test46
+++ b/tests/data/test46
@@ -56,7 +56,6 @@ www.loser.com	FALSE	/	FALSE	1139150993	UID	99
 <protocol>
 GET /want/46 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Cookie: empty=; mooo=indeed
 
diff --git a/tests/data/test47 b/tests/data/test47
index aba0bce214..835fcec190 100644
--- a/tests/data/test47
+++ b/tests/data/test47
@@ -40,7 +40,6 @@ http://%HOSTIP:%HTTPPORT/47 -0
 <protocol>
 GET /47 HTTP/1.0
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test48 b/tests/data/test48
index de5f86bc28..036f739e91 100644
--- a/tests/data/test48
+++ b/tests/data/test48
@@ -39,7 +39,6 @@ HTTP with -d and -G and -I
 <protocol>
 HEAD /48?foo=moo&moo=poo HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test49 b/tests/data/test49
index 0c085f3a31..8822434eff 100644
--- a/tests/data/test49
+++ b/tests/data/test49
@@ -61,13 +61,11 @@ http://%HOSTIP:%HTTPPORT/we/are/all/twits/49 -L
 <protocol>
 GET /we/are/all/twits/49 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /we/are/all/moo.html/490002 HTTP/1.1
 User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test5 b/tests/data/test5
index ad51eac523..db8aec2d06 100644
--- a/tests/data/test5
+++ b/tests/data/test5
@@ -43,6 +43,7 @@ GET http://127.0.0.1:%HTTPPORT/we/want/that/page/5 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test50 b/tests/data/test50
index f9baf7d8fd..e508cc0865 100644
--- a/tests/data/test50
+++ b/tests/data/test50
@@ -61,13 +61,11 @@ http://%HOSTIP:%HTTPPORT/we/are/all/twits/50 -L
 <protocol>
 GET /we/are/all/twits/50 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /we/are/moo.html/500002 HTTP/1.1
 User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test500 b/tests/data/test500
index eb509c064b..95e2b260d5 100644
--- a/tests/data/test500
+++ b/tests/data/test500
@@ -41,7 +41,6 @@ http://%HOSTIP:%HTTPPORT/500
 <protocol>
 GET /500 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test503 b/tests/data/test503
index 834cfb1478..5fd45be41c 100644
--- a/tests/data/test503
+++ b/tests/data/test503
@@ -49,12 +49,13 @@ moo
 <verify>
 <protocol>
 CONNECT 127.0.0.1:%HTTPSPORT HTTP/1.0
+Host: 127.0.0.1:%HTTPSPORT
 Proxy-Authorization: Basic dGVzdDppbmc=
+Proxy-Connection: Keep-Alive
 
 GET /503 HTTP/1.1
 Authorization: Basic dGVzdDppbmc=
 Host: 127.0.0.1:%HTTPSPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test508 b/tests/data/test508
index 51e3f81547..7940b1260d 100644
--- a/tests/data/test508
+++ b/tests/data/test508
@@ -36,7 +36,6 @@ http://%HOSTIP:%HTTPPORT/508
 <protocol>
 POST /508 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 45
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test509 b/tests/data/test509
index 687e9e94ec..0bf6d3da03 100644
--- a/tests/data/test509
+++ b/tests/data/test509
@@ -44,7 +44,6 @@ https://127.0.0.1:%HTTPSPORT/dvcs %HTTPSPORT
 <protocol>
 GET /509 HTTP/1.1
 Host: 127.0.0.1:%HTTPSPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test51 b/tests/data/test51
index 706c55c38d..73774f488f 100644
--- a/tests/data/test51
+++ b/tests/data/test51
@@ -61,13 +61,11 @@ http://%HOSTIP:%HTTPPORT/we/are/all/twits/51 -L
 <protocol>
 GET /we/are/all/twits/51 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /510002 HTTP/1.1
 User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test510 b/tests/data/test510
index 6ab3466780..22b0aad2dd 100644
--- a/tests/data/test510
+++ b/tests/data/test510
@@ -36,7 +36,6 @@ http://%HOSTIP:%HTTPPORT/510
 <protocol>
 POST /510 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Transfer-Encoding: chunked
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test512 b/tests/data/test512
index bd7f6fa6f8..c6e3dbad4c 100644
--- a/tests/data/test512
+++ b/tests/data/test512
@@ -38,7 +38,6 @@ http://%HOSTIP:%HTTPPORT/512
 <protocol>
 GET /512 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test513 b/tests/data/test513
index 8b1fcf61f8..920cbcc177 100644
--- a/tests/data/test513
+++ b/tests/data/test513
@@ -27,7 +27,6 @@ http://%HOSTIP:%HTTPPORT/513
 <protocol>
 POST /513 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 1
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test514 b/tests/data/test514
index 1b6e5e686b..eed0da56eb 100644
--- a/tests/data/test514
+++ b/tests/data/test514
@@ -42,7 +42,6 @@ http://%HOSTIP:%HTTPPORT/514
 <protocol>
 HEAD /514 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test515 b/tests/data/test515
index 5feb4a94ae..65d0f96aa8 100644
--- a/tests/data/test515
+++ b/tests/data/test515
@@ -37,7 +37,6 @@ http://%HOSTIP:%HTTPPORT/515
 <protocol>
 POST /515 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 0
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test516 b/tests/data/test516
index 568e46bb59..e1c890ac14 100644
--- a/tests/data/test516
+++ b/tests/data/test516
@@ -37,7 +37,6 @@ http://%HOSTIP:%HTTPPORT/516
 <protocol>
 POST /516 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 0
 
diff --git a/tests/data/test518 b/tests/data/test518
index 025739406d..d050d073f8 100644
--- a/tests/data/test518
+++ b/tests/data/test518
@@ -49,7 +49,6 @@ http://%HOSTIP:%HTTPPORT/518
 <protocol>
 GET /518 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test519 b/tests/data/test519
index 7a5cec6c56..d9adfdde29 100644
--- a/tests/data/test519
+++ b/tests/data/test519
@@ -58,13 +58,11 @@ http://%HOSTIP:%HTTPPORT/519
 GET /519 HTTP/1.1
 Authorization: Basic bW9uc3Rlcjp1bmRlcmJlZA==
 Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /519 HTTP/1.1
 Authorization: Basic YW5vdGhlcm1vbnN0ZXI6aW53YXJkcm9iZQ==
 Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test52 b/tests/data/test52
index fc9388e93b..ae78473cd1 100644
--- a/tests/data/test52
+++ b/tests/data/test52
@@ -61,13 +61,11 @@ http://%HOSTIP:%HTTPPORT/we/are/all/twits/52 -L
 <protocol>
 GET /we/are/all/twits/52 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /we/are/all/twits/520002 HTTP/1.1
 User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test522 b/tests/data/test522
index ceff5ecb8b..6578e33c44 100644
--- a/tests/data/test522
+++ b/tests/data/test522
@@ -49,7 +49,6 @@ http://%HOSTIP/522 %HTTPPORT
 GET /522 HTTP/1.1
 Authorization: Basic eHh4Onl5eQ==
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test523 b/tests/data/test523
index 07c3b16a3d..ab125468cb 100644
--- a/tests/data/test523
+++ b/tests/data/test523
@@ -53,6 +53,7 @@ Authorization: Basic eHh4Onl5eQ==
 Host: www.haxx.se:19999
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 <stdout>
diff --git a/tests/data/test53 b/tests/data/test53
index 24c69039c6..c653c355b8 100644
--- a/tests/data/test53
+++ b/tests/data/test53
@@ -45,7 +45,6 @@ HTTP, junk session cookies
 <protocol>
 GET /want/53 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Cookie: mooo=indeed
 
diff --git a/tests/data/test54 b/tests/data/test54
index 9fd6da7359..0d5747eb65 100644
--- a/tests/data/test54
+++ b/tests/data/test54
@@ -37,7 +37,6 @@ http://%HOSTIP:%HTTPPORT/want/54 -L
 <protocol>
 GET /want/54 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test55 b/tests/data/test55
index 64794f2346..c4a6e4c9b0 100644
--- a/tests/data/test55
+++ b/tests/data/test55
@@ -53,13 +53,11 @@ http://%HOSTIP:%HTTPPORT/55 -L
 <protocol>
 GET /55 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /550002 HTTP/1.1
 User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test56 b/tests/data/test56
index d286542f7d..d4f369907b 100644
--- a/tests/data/test56
+++ b/tests/data/test56
@@ -48,7 +48,6 @@ header "Transfer-Encoding: chunked"
 <protocol>
 POST /that.site.com/56 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Transfer-Encoding: chunked
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test57 b/tests/data/test57
index 7326b0580d..f657ef0f77 100644
--- a/tests/data/test57
+++ b/tests/data/test57
@@ -39,7 +39,6 @@ text/html; charset=ISO-8859-4
 <protocol>
 GET /57 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test58 b/tests/data/test58
index 574aaf3538..32d773192c 100644
--- a/tests/data/test58
+++ b/tests/data/test58
@@ -40,7 +40,6 @@ a few bytes
 <protocol>
 PUT /we/want/58te%5B%5Dst%2Etxt HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 12
 Expect: 100-continue
diff --git a/tests/data/test59 b/tests/data/test59
index 63e00e6812..5e0e694fae 100644
--- a/tests/data/test59
+++ b/tests/data/test59
@@ -39,7 +39,6 @@ HTTP URL with slash but with "parameter"
 <protocol>
 GET /?mooo/59 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test6 b/tests/data/test6
index 46844bc582..f7f1a4f0dd 100644
--- a/tests/data/test6
+++ b/tests/data/test6
@@ -39,7 +39,6 @@ http://%HOSTIP:%HTTPPORT/we/want/that/page/6 -b "name=contents;name2=content2"
 <protocol>
 GET /we/want/that/page/6 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Cookie: name=contents;name2=content2
 
diff --git a/tests/data/test60 b/tests/data/test60
index 848ccf7ad1..c4d6c4fb42 100644
--- a/tests/data/test60
+++ b/tests/data/test60
@@ -40,7 +40,6 @@ more than one byte
 <protocol>
 PUT /bzz/60 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Transfer-Encoding: chunked
 Content-Length: 1
diff --git a/tests/data/test61 b/tests/data/test61
index e607ede6ca..215470fbfe 100644
--- a/tests/data/test61
+++ b/tests/data/test61
@@ -46,7 +46,6 @@ http://%HOSTIP:%HTTPPORT/we/want/61 -c log/jar61.txt -H "Host: www.host.foo.com"
 </strip>
 <protocol>
 GET /we/want/61 HTTP/1.1
-Pragma: no-cache
 Accept: */*
 Host: www.host.foo.com
 
diff --git a/tests/data/test62 b/tests/data/test62
index 4ba942e9cd..6d01f88dba 100644
--- a/tests/data/test62
+++ b/tests/data/test62
@@ -47,7 +47,6 @@ http://%HOSTIP:%HTTPPORT/we/want/62 -b log/jar62.txt -H "Host: www.host.foo.com"
 </strip>
 <protocol>
 GET /we/want/62 HTTP/1.1
-Pragma: no-cache
 Accept: */*
 Cookie: test2=yes; test=yes
 Host: www.host.foo.com
diff --git a/tests/data/test63 b/tests/data/test63
index 01c6f85fee..bcd5a188a9 100644
--- a/tests/data/test63
+++ b/tests/data/test63
@@ -44,6 +44,7 @@ Proxy-Authorization: Basic ZmFrZTp1c2Vy
 Host: we.want.that.site.com
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test64 b/tests/data/test64
index 63b2db4548..9521102c70 100644
--- a/tests/data/test64
+++ b/tests/data/test64
@@ -62,14 +62,12 @@ http://%HOSTIP:%HTTPPORT/64 -u testuser:testpass --digest
 <protocol>
 GET /64 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /64 HTTP/1.1
 Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/64", response="c55f7f30d83d774a3d2dcacf725abaca"
 User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test65 b/tests/data/test65
index 146125f8aa..ab519f9166 100644
--- a/tests/data/test65
+++ b/tests/data/test65
@@ -66,14 +66,12 @@ http://%HOSTIP:%HTTPPORT/65 -u testuser:test2pass --digest
 <protocol>
 GET /65 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /65 HTTP/1.1
 Authorization: Digest username="testuser", realm="testrealm", nonce="2053604145", uri="/65", response="66d68d3251f1839576ba7c766cf9205b"
 User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test66 b/tests/data/test66
index f908654e70..a67cf63863 100644
--- a/tests/data/test66
+++ b/tests/data/test66
@@ -33,7 +33,6 @@ http://%HOSTIP:%HTTPPORT/66
 <protocol>
 GET /66 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test67 b/tests/data/test67
index 9bdccb5947..69023fa504 100644
--- a/tests/data/test67
+++ b/tests/data/test67
@@ -74,14 +74,12 @@ GET /67 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /67 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test68 b/tests/data/test68
index 3f0265dacc..8a0adcf9f2 100644
--- a/tests/data/test68
+++ b/tests/data/test68
@@ -76,14 +76,12 @@ GET /68 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /68 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test69 b/tests/data/test69
index de0e39c17a..0cfafd94a7 100644
--- a/tests/data/test69
+++ b/tests/data/test69
@@ -88,21 +88,18 @@ http://%HOSTIP:%HTTPPORT/69 -u testuser:testpass --anyauth
 GET /69 HTTP/1.1
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /69 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /69 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test7 b/tests/data/test7
index 236cbb9f1d..cf15ff484d 100644
--- a/tests/data/test7
+++ b/tests/data/test7
@@ -41,7 +41,6 @@ http://%HOSTIP:%HTTPPORT/we/want/7 -b none -D log/heads7.txt
 <protocol>
 GET /we/want/7 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test70 b/tests/data/test70
index 74abcdfadb..0c904ef7ec 100644
--- a/tests/data/test70
+++ b/tests/data/test70
@@ -73,14 +73,12 @@ http://%HOSTIP:%HTTPPORT/70 -u testuser:testpass --anyauth
 GET /70 HTTP/1.1
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /70 HTTP/1.1
 Authorization: Digest username="testuser", realm="testrealm", nonce="1053604199", uri="/70", response="2c9a6f00af0d86497b177b90e90c688a"
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test71 b/tests/data/test71
index 40d187c4ae..733db358c9 100644
--- a/tests/data/test71
+++ b/tests/data/test71
@@ -49,7 +49,6 @@ bar
 POST /we/want/71 HTTP/1.1
 User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 408
 Expect: 100-continue
diff --git a/tests/data/test72 b/tests/data/test72
index 46352c2ad5..465c61199f 100644
--- a/tests/data/test72
+++ b/tests/data/test72
@@ -69,14 +69,12 @@ http://%HOSTIP:%HTTPPORT/72 -u testuser:testpass --anyauth
 GET /72 HTTP/1.1
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /72 HTTP/1.1
 Authorization: Digest username="testuser", realm="testrealm", nonce="1053604199", uri="/72", response="9fcd1330377365a09bbcb33b2cbb25bd"
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test73 b/tests/data/test73
index bb2853da7e..a7484cd467 100644
--- a/tests/data/test73
+++ b/tests/data/test73
@@ -37,7 +37,6 @@ http://%HOSTIP:%HTTPPORT/we/want/73 -c log/jar73.txt -H "Host: host.NOT_DISCLOSE
 </strip>
 <protocol>
 GET /we/want/73 HTTP/1.1
-Pragma: no-cache
 Accept: */*
 Host: host.NOT_DISCLOSED.se
 
diff --git a/tests/data/test74 b/tests/data/test74
index bc9036756a..6a0793d7c3 100644
--- a/tests/data/test74
+++ b/tests/data/test74
@@ -54,12 +54,10 @@ HTTP, urlglob {}-retrieval and -o #[num] usage
 <protocol>
 GET /74 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /740001 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test77 b/tests/data/test77
index 2b8db1586e..369120cebb 100644
--- a/tests/data/test77
+++ b/tests/data/test77
@@ -46,7 +46,6 @@ http://%HOSTIP:%HTTPPORT/77 -z "dec 12 12:00:00 1999 GMT"
 <protocol>
 GET /77 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 If-Modified-Since: Sun, 12 Dec 1999 12:00:00 GMT
 
diff --git a/tests/data/test78 b/tests/data/test78
index 4c7b06cc61..a3b2d5b6eb 100644
--- a/tests/data/test78
+++ b/tests/data/test78
@@ -58,7 +58,6 @@ http://%HOSTIP:%HTTPPORT/78 -z "dec 12 11:00:00 1999 GMT"
 <protocol>
 GET /78 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 If-Modified-Since: Sun, 12 Dec 1999 11:00:00 GMT
 
diff --git a/tests/data/test79 b/tests/data/test79
index bacb0b8452..6d080bd5d7 100644
--- a/tests/data/test79
+++ b/tests/data/test79
@@ -45,6 +45,7 @@ GET ftp://127.0.0.1:%HTTPPORT/we/want/that/page/79 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test8 b/tests/data/test8
index 31c985fe41..683899ae1d 100644
--- a/tests/data/test8
+++ b/tests/data/test8
@@ -49,7 +49,6 @@ Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
 <protocol>
 GET /we/want/8 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Cookie: partmatch=present; foobar=name
 
diff --git a/tests/data/test80 b/tests/data/test80
index 89587b27e3..dcf153dd73 100644
--- a/tests/data/test80
+++ b/tests/data/test80
@@ -39,7 +39,7 @@ contents
 http
 </server>
  <name>
-HTTP CONNECT with proxy and host Basic authentication
+HTTP CONNECT with proxytunnel and host Basic authentication
  </name>
  <command>
 http://%HOSTIP:%HTTPPORT/we/want/that/page/80 -p -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user youare:yourself
@@ -54,14 +54,15 @@ http://%HOSTIP:%HTTPPORT/we/want/that/page/80 -p -x %HOSTIP:%HTTPPORT --user iam
 </strip>
 <protocol>
 CONNECT 127.0.0.1:%HTTPPORT HTTP/1.0
+Host: 127.0.0.1:%HTTPPORT
 Proxy-Authorization: Basic eW91YXJlOnlvdXJzZWxm
 User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Proxy-Connection: Keep-Alive
 
 GET /we/want/that/page/80 HTTP/1.1
 Authorization: Basic aWFtOm15c2VsZg==
 User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test81 b/tests/data/test81
index 3fc2634a09..056571bed4 100644
--- a/tests/data/test81
+++ b/tests/data/test81
@@ -74,6 +74,7 @@ User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 GET http://127.0.0.1:%HTTPPORT/81 HTTP/1.1
 Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
@@ -81,6 +82,7 @@ User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test82 b/tests/data/test82
index 13e3600633..3bfae9fc2e 100644
--- a/tests/data/test82
+++ b/tests/data/test82
@@ -48,6 +48,7 @@ User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test83 b/tests/data/test83
index 909f780639..d68a042be9 100644
--- a/tests/data/test83
+++ b/tests/data/test83
@@ -55,12 +55,13 @@ http://%HOSTIP:%HTTPPORT/we/want/that/page/83 -p -x %HOSTIP:%HTTPPORT --user iam
 <protocol>
 CONNECT 127.0.0.1:%HTTPPORT HTTP/1.0
 User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Host: 127.0.0.1:%HTTPPORT
+Proxy-Connection: Keep-Alive
 
 GET /we/want/that/page/83 HTTP/1.1
 Authorization: Basic aWFtOm15c2VsZg==
 User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test84 b/tests/data/test84
index fb520eae1e..387d0e08e6 100644
--- a/tests/data/test84
+++ b/tests/data/test84
@@ -47,6 +47,7 @@ User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test85 b/tests/data/test85
index d19861bc00..50629e0dae 100644
--- a/tests/data/test85
+++ b/tests/data/test85
@@ -48,6 +48,7 @@ User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test86 b/tests/data/test86
index bc8f23ca24..e1403962d2 100644
--- a/tests/data/test86
+++ b/tests/data/test86
@@ -69,19 +69,16 @@ HTTP, urlglob []-retrieval and -o #[num] usage
 GET /860001 HTTP/1.1
 User-Agent: curl/7.10.7-pre4 (i686-pc-linux-gnu) libcurl/7.10.7-pre4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /860002 HTTP/1.1
 User-Agent: curl/7.10.7-pre4 (i686-pc-linux-gnu) libcurl/7.10.7-pre4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /860003 HTTP/1.1
 User-Agent: curl/7.10.7-pre4 (i686-pc-linux-gnu) libcurl/7.10.7-pre4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test88 b/tests/data/test88
index c09f6d6c93..45791fcba8 100644
--- a/tests/data/test88
+++ b/tests/data/test88
@@ -76,7 +76,6 @@ four is the number of lines
 <protocol>
 PUT /88 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 0
 Expect: 100-continue
@@ -85,7 +84,6 @@ PUT /88 HTTP/1.1
 Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/88", response="78a49fa53d0c228778297687d4168e71"
 User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 85
 Expect: 100-continue
diff --git a/tests/data/test89 b/tests/data/test89
index 93d44dbb97..89904d7488 100644
--- a/tests/data/test89
+++ b/tests/data/test89
@@ -107,28 +107,24 @@ GET /89 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /89 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /you/890010 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /you/890010 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
 User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test9 b/tests/data/test9
index e3c1a7df42..7476278ec6 100644
--- a/tests/data/test9
+++ b/tests/data/test9
@@ -45,7 +45,6 @@ bar
 POST /we/want/9 HTTP/1.1
 User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 407
 Expect: 100-continue
diff --git a/tests/data/test90 b/tests/data/test90
index 96da409c90..5a9dc3479e 100644
--- a/tests/data/test90
+++ b/tests/data/test90
@@ -140,40 +140,34 @@ http://%HOSTIP:%HTTPPORT/90 -u testuser:testpass --anyauth -L
 <protocol>
 GET /90 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /90 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /90 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /you/900010 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /you/900010 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /you/900010 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
 User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test91 b/tests/data/test91
index aa1db46281..bad4f3a574 100644
--- a/tests/data/test91
+++ b/tests/data/test91
@@ -91,21 +91,18 @@ http://%HOSTIP:%HTTPPORT/91 --anyauth -u mydomain\\myself:secret
 GET /91 HTTP/1.1
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /91 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 GET /91 HTTP/1.1
 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAE4AAAAYABgAZgAAAAgACABAAAAABgAGAEgAAAAAAAAATgAAAAAAAAB+AAAAAYIAAG15ZG9tYWlubXlzZWxmwjImlHmYemDYVmFrmRFoVn3jfoYDE+7QLmWXF7FJDlDNWSItJ+RylXJGAJdepH4C
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test92 b/tests/data/test92
index cf47c22604..3c043aab08 100644
--- a/tests/data/test92
+++ b/tests/data/test92
@@ -43,7 +43,6 @@ http://%HOSTIP:%HTTPPORT/want/92 -C 87
 GET /want/92 HTTP/1.1
 Range: bytes=87-
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
diff --git a/tests/data/test93 b/tests/data/test93
index b269d99c0e..b98d32bdcc 100644
--- a/tests/data/test93
+++ b/tests/data/test93
@@ -43,6 +43,7 @@ GET http://127.0.0.1:%HTTPPORT/93 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
 Pragma: no-cache
 Accept: */*
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test94 b/tests/data/test94
index e3680b56da..2deeb4f27d 100644
--- a/tests/data/test94
+++ b/tests/data/test94
@@ -48,6 +48,8 @@ https://test.anything.really.com:94 -x %HOSTIP:%HTTPPORT
 <protocol>
 CONNECT test.anything.really.com:94 HTTP/1.0
 User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4
+Host: test.anything.really.com:94
+Proxy-Connection: Keep-Alive
 
 </protocol>
 </verify>
diff --git a/tests/data/test95 b/tests/data/test95
index c25e4d3a1e..5a5aebcd38 100644
--- a/tests/data/test95
+++ b/tests/data/test95
@@ -53,11 +53,12 @@ http://%HOSTIP:%HTTPPORT/we/want/that/page/95 -p -x %HOSTIP:%HTTPPORT -d "datato
 <protocol nonewline=yes>
 CONNECT 127.0.0.1:%HTTPPORT HTTP/1.0
 User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Host: 127.0.0.1:%HTTPPORT
+Proxy-Connection: Keep-Alive
 
 POST /we/want/that/page/95 HTTP/1.1
 User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 27
 Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test97 b/tests/data/test97
index 1c080547b7..121ffa4dbb 100644
--- a/tests/data/test97
+++ b/tests/data/test97
@@ -41,7 +41,6 @@ HTTP POST with custom content-type
 <protocol nonewline=yes>
 POST /97 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Type: silly/type
 Content-Length: 14
diff --git a/tests/data/test98 b/tests/data/test98
index 84d48b6fb8..5878c578fb 100644
--- a/tests/data/test98
+++ b/tests/data/test98
@@ -44,7 +44,6 @@ data on stdin
 <protocol>
 PUT /98 HTTP/1.1
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 Content-Length: 14
 Expect: 100-continue
diff --git a/tests/data/test99 b/tests/data/test99
index f314842652..49cfdc2860 100644
--- a/tests/data/test99
+++ b/tests/data/test99
@@ -60,7 +60,6 @@ http://%HOSTIP:%HTTPPORT/99 -C 9999999999
 GET /99 HTTP/1.1
 Range: bytes=9999999999-
 Host: 127.0.0.1:%HTTPPORT
-Pragma: no-cache
 Accept: */*
 
 </protocol>
-- 
GitLab