-
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
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
archive | ||
bufio | ||
builtin | ||
bytes | ||
compress | ||
container | ||
crypto | ||
database/sql | ||
debug | ||
encoding | ||
errors | ||
exp | ||
expvar | ||
flag | ||
fmt | ||
go | ||
hash | ||
html | ||
image | ||
index/suffixarray | ||
io | ||
log | ||
math | ||
mime | ||
net | ||
old/netchan | ||
os | ||
path | ||
reflect | ||
regexp | ||
runtime | ||
sort | ||
strconv | ||
strings | ||
sync | ||
syscall | ||
testing | ||
text | ||
time | ||
unicode | ||
unsafe |