I googled and found http://tools.ietf.org/html/rfc2616 .

In a section of "4.4 Message Length":
  2.If a Transfer-Encoding header field (section 14.41) is present and
     has any value other than "identity", then the transfer-length is
     defined by use of the "chunked" transfer-coding (section 3.6),
     unless the message is terminated by closing the connection.
  3.If a Content-Length header field (section 14.13) is present, its
     decimal value in OCTETs represents both the entity-length and the
     transfer-length. The Content-Length header field MUST NOT be sent
     if these two lengths are different (i.e., if a Transfer-Encoding
     header field is present). If a message is received with both a
     Transfer-Encoding header field and a Content-Length header field,
     the latter MUST be ignored.

2012/4/27 Sunjoong Lee <sunjoong@gmail.com>
Oh, Content-Length missing!! Apache server of www.gnu.org replied response without Content-Length via home.en.html request. Is Content-Length mandatory of response? If so, it would be Apache's fault. But if not so, I think it's better modify read-response-body of (web response) in Guile.