- From: Adrian Custer <ac@pocz.org>
- Date: Wed, 22 Jun 2011 13:12:29 +0000
- To: ietf-http-wg@w3.org
On 06/22/2011 02:22 PM, Bjoern Hoehrmann wrote: > * Adrian Custer wrote: >> In HTTPbis, Part 1, Section 9.4, the fourth(ish) paragraph states: >> >> The Host header field MUST be sent in an HTTP/1.1 request even if the >> request-target is in the form of an absolute-URI, since this allows >> the Host information to be forwarded through ancient HTTP/1.0 proxies >> that might not have implemented Host. >> >> but I do not understand this ending "implemented Host". > > If the client does not send the "Host" header, and you have an ancient > HTTP/1.0 proxy that does not generate the "Host" header on its own, then > the request will not have a "Host" header when it reaches the server. As > the server might depend on the presence of the Host header to serve the > request, it's better to send the "Host" header even if the information > in the header is, strictly speaking, redundant in the specific case. If > that clarifies the intended meaning, how would you phrase that? Okay, I guess I understand the reasoning, as follows: 1) The server may need the Host header. 2) The client can only send an absolute-URI to a proxy. (Note that otherwise, the rule 1 above would be enough justification by itself.) 3) If the proxy were conformant only to HTTP/1.0, it might not itself generate the Host: header from the absolute-URI for eventual receipt by the server. Therefore, requiring the client to generate the header, ensures that it will get to the server no matter what proxy it uses. If that is right then perhaps the reason given in the standard should read something like: ...since this ensures a Host header will reach the server even when passing through a HTTP/1.0 proxy: the proxy might not generate a Host header from the absolute-URI itself but would be required to forwards the existing header. ~adrian
Received on Wednesday, 22 June 2011 13:17:27 UTC