diff -ru wget-1.12.orig/src/http.c wget-1.12/src/http.c
--- wget-1.12.orig/src/http.c	2009-09-21 23:02:18.000000000 -0400
+++ wget-1.12/src/http.c	2011-03-29 21:55:24.000000000 -0400
@@ -61,6 +61,7 @@
 #endif
 #include "convert.h"
 #include "spider.h"
+#include "ptimer.h"
 
 #ifdef TESTING
 #include "test.h"
@@ -325,7 +326,7 @@
 /* Construct the request and write it to FD using fd_write.  */
 
 static int
-request_send (const struct request *req, int fd)
+request_send (const struct request *req, int fd, struct ptimer* timer)
 {
   char *request_string, *p;
   int i, size, write_error;
@@ -373,6 +374,7 @@
   /* Send the request to the server. */
 
   write_error = fd_write (fd, request_string, size - 1, -1);
+  if (timer) ptimer_reset(timer);
   if (write_error < 0)
     logprintf (LOG_VERBOSE, _("Failed writing HTTP request: %s.\n"),
                fd_errstr (fd));
@@ -548,8 +550,14 @@
    data can be treated as body.  */
 
 static char *
-read_http_response_head (int fd)
+read_http_response_head (int fd, struct ptimer* timer)
 {
+  if(timer)
+    {
+      char buf[1];
+      fd_peek (fd, buf, 1, -1);
+      ptimer_measure (timer);
+    }
   return fd_read_hunk (fd, response_head_terminator, 512,
                        HTTP_RESPONSE_MAX_SIZE);
 }
@@ -1715,7 +1723,7 @@
              that the contents of Host would be exactly the same as
              the contents of CONNECT.  */
 
-          write_error = request_send (connreq, sock);
+          write_error = request_send (connreq, sock, NULL);
           request_free (connreq);
           if (write_error < 0)
             {
@@ -1723,7 +1731,7 @@
               return WRITEFAILED;
             }
 
-          head = read_http_response_head (sock);
+          head = read_http_response_head (sock, NULL);
           if (!head)
             {
               logprintf (LOG_VERBOSE, _("Failed reading proxy response: %s\n"),
@@ -1778,7 +1786,8 @@
     }
 
   /* Send the request to server.  */
-  write_error = request_send (req, sock);
+  struct ptimer* timer = ptimer_new();
+  write_error = request_send (req, sock, timer);
 
   if (write_error >= 0)
     {
@@ -1803,7 +1812,7 @@
   contrange = 0;
   *dt &= ~RETROKF;
 
-  head = read_http_response_head (sock);
+  head = read_http_response_head (sock, timer);
   if (!head)
     {
       if (errno == 0)
@@ -1831,14 +1840,20 @@
   statcode = resp_status (resp, &message);
   hs->message = xstrdup (message);
   if (!opt.server_response)
-    logprintf (LOG_VERBOSE, "%2d %s\n", statcode,
-               message ? quotearg_style (escape_quoting_style, message) : "");
+    {
+      logprintf (LOG_VERBOSE, "%2d %s\n", statcode,
+                 message ? quotearg_style (escape_quoting_style, message) : "");
+      logprintf (LOG_VERBOSE, _("Time spent awaiting response: %.3fs\n"),
+                 ptimer_read(timer));
+    }
   else
     {
       logprintf (LOG_VERBOSE, "\n");
       print_server_response (resp, "  ");
     }
 
+  ptimer_destroy(timer);
+
   if (!opt.ignore_length
       && resp_header_copy (resp, "Content-Length", hdrval, sizeof (hdrval)))
     {
