mirror of
https://github.com/xcat2/xNBA.git
synced 2025-01-07 20:15:06 +00:00
[http] gPXE is a HTTP/1.0 client, not a HTTP/1.1 client
gPXE is not compliant with the HTTP/1.1 specification (RFC 2616), since it lacks support for "Transfer-Encoding: chunked". gPXE is, however, compliant with the HTTP/1.0 specification (RFC 1945), which does not require "Transfer-Encoding: chunked" to be supported. The only HTTP/1.1 feature that gPXE uses is the "Host:" header, but servers universally accept that one from HTTP/1.0 clients as an optional extension (it is obligatory for HTTP/1.1). gPXE does not, for example, appear to support connection caching. Advertising as a HTTP/1.0 client will typically make the server close the connection immediately upon sending the last data, which is actually beneficial if we aren't going to keep the connection alive anyway.
This commit is contained in:
parent
feade5da6e
commit
b107637008
@ -393,7 +393,7 @@ static void http_step ( struct process *process ) {
|
||||
if ( xfer_window ( &http->socket ) ) {
|
||||
process_del ( &http->process );
|
||||
if ( ( rc = xfer_printf ( &http->socket,
|
||||
"GET %s%s%s HTTP/1.1\r\n"
|
||||
"GET %s%s%s HTTP/1.0\r\n"
|
||||
"User-Agent: gPXE/" VERSION "\r\n"
|
||||
"Host: %s\r\n"
|
||||
"\r\n",
|
||||
|
Loading…
Reference in New Issue
Block a user