mirror of
https://github.com/xcat2/xNBA.git
synced 2025-02-06 22:11:57 +00:00
[http] Include port in HTTP Host header as needed
According to section 14.23 of RFC2616, an HTTP Host header without port implies the default port is used. Thus, when fetching from anywhere but port 80 for HTTP or 443 for HTTPS, the port ought to be explicitly given in that header. Otherwise, some servers might fail to associate the request with the correct virtual host or generate incorrect self-referencing URLs. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
5d23fb1bb4
commit
69b7d57265
@ -662,13 +662,17 @@ static void http_step ( struct http_request *http ) {
|
||||
if ( ( rc = xfer_printf ( &http->socket,
|
||||
"%s %s%s HTTP/1.1\r\n"
|
||||
"User-Agent: iPXE/" VERSION "\r\n"
|
||||
"Host: %s\r\n"
|
||||
"Host: %s%s%s\r\n"
|
||||
"%s%s%s%s%s%s%s"
|
||||
"\r\n",
|
||||
( ( http->flags & HTTP_HEAD_ONLY ) ?
|
||||
"HEAD" : "GET" ),
|
||||
( http->uri->path ? "" : "/" ),
|
||||
request, host,
|
||||
( http->uri->port ?
|
||||
":" : "" ),
|
||||
( http->uri->port ?
|
||||
http->uri->port : "" ),
|
||||
( ( http->flags & HTTP_KEEPALIVE ) ?
|
||||
"Connection: Keep-Alive\r\n" : "" ),
|
||||
( partial ? "Range: bytes=" : "" ),
|
||||
|
Loading…
x
Reference in New Issue
Block a user