On Sun, Jan 9, 2011 at 2:17 PM, Mark Kettenis <[email protected]> wrote: >> Date: Sun, 9 Jan 2011 17:08:22 -0500 (EST) >> From: Ted Unangst <[email protected]> > >> #endif /* !SMALL */ >> ftp_printf(fin, ssl, "GET /%s %s\r\nHost: ", epath, >> #ifndef SMALL >> - restart_point ? "HTTP/1.1\r\nConnection: close" : >> + "HTTP/1.1\r\nConnection: close" >> +#else >> + "HTTP/1.0" >> #endif /* !SMALL */ >> - "HTTP/1.0"); >> + ); > > Doesn't this mean that servers that only support HTTP/1.0 will stop > working now?
Only servers that don't actually follow the rules: a HTTP/1.0 servers should accept HTTP/1.1 requests just fine, returning the HTTP/1.0 interpretation of them. The version sent by each side is _that_ side's version, or rather, the version to which the request or reply that it has sent complies. c.f. RFC 2145. If someone can find a server that is broken and barfs on getting a request version greater than it expects, it would be interesting to see how other common HTTP clients (curl? netscape? chrome?) behave with it. Do they all auto-retry with a HTTP/1.0? Adding that, or a manual option to force HTTP/1.0, to ftp would be annoying... Philip Guenther
