[http] gPXE is a HTTP/1.0 client, not a HTTP/1.1 client
authorH. Peter Anvin <hpa@zytor.com>
Mon, 31 Mar 2008 12:01:08 +0000 (05:01 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 31 Mar 2008 12:01:08 +0000 (05:01 -0700)
commitb107637008d15e00a4d95cdb5c8f5c11fda490f7
tree687226894f865910866854bd3dfd3a88152e287d
parentfeade5da6e0fd233b845d40c7a0a696ad1e35cc4
[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.
src/net/tcp/http.c