1. 25 Jan, 2013 1 commit
    • John Graham-Cumming's avatar
      net/http: fix Content-Length/Transfer-Encoding on HEAD requests · 3c77b896
      John Graham-Cumming authored
      net/http currently assumes that the response to a HEAD request
          will always have a Content-Length header. This is incorrect.
      
      RFC2616 says: "The HEAD method is identical to GET except that
      the server MUST NOT return a message-body in the response. The
      metainformation contained in the HTTP headers in response to a
      HEAD request SHOULD be identical to the information sent in
      response to a GET request. This method can be used for
      obtaining metainformation about the entity implied by the
      request without transferring the entity-body itself. This
      method is often used for testing hypertext links for validity,
      accessibility, and recent modification."
      
      This means that three cases are possible: a Content-Length
      header, a Transfer-Encoding header or neither. In the wild the
      following sites exhibit these behaviours (curl -I):
      
      HEAD on http://www.google.co.uk/ has Transfer-Encoding: chunked
      HEAD on http://www.bbc.co.uk/    has Content-Length: 45247
      HEAD on http://edition.cnn.com/  has neither header
      
      This patch does not remove the ErrMissingContentLength error
      for compatibility reasons, but it is no longer used.
      
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/7182045
      3c77b896
  2. 24 Jan, 2013 9 commits
  3. 23 Jan, 2013 14 commits
  4. 22 Jan, 2013 16 commits