Minimum HTTP version (was: Accept-Ranges: the controversy that wouldn't die)

Lou Montulli writes:
 > 
 > This is confused.  We are not interested in knowing if the OS can
 > handle ranges.  What we wan't to know is if *ANY* point in the chain
 > can provide range service.  Once that is known we can make major
 > optimizations.
 > 

In addition to knowing if there is a server somewhere in the chain that
supports byte ranges, it would be useful to be able to tell what the
minimum HTTP version is in a chain of servers.

Unfortunately the case Lou mentions is not a good case in point, because not
all 1.1 servers have to support byte ranges, and some "1.0" servers
do.

One case where it might be useful to know this lowest-version
information is for servers that issue cookies.  Right now, cookies
might be cached by 1.0 caches if a page is cachable.  This is
potentially nasty.  If a server could know that all proxies in the
request chain were >= 1.1, it might be more liberal in making pages
cachable when issuing cookies in the same response.

Despite the fact that this suggestion will undoubtedly be ruled out of
order at this point, I'll make it anyway, because the earlier the
HTTP version in which something like this goes into the protocol, the more
useful it would be.

So, suggestion: if an HTTP 1.1 proxy forwards a request or response
from a server or agent with HTTP version < its own version number (in
this case, 1.1), it should insert a header indicating this
information. E.g., "Lowest-version: 1.0".  If a proxy receives such a
header in a request or response, it should forward it.

I can't find any other way to detect this information, and it seems
like it could find many applications in the future as the protocol
gets more complicated.  If there is some other way to detect this
information, (a) I withdraw these comments, and (b) what is it? 

Sorry to suggest this now -- but the idea just occurred to me.

--Shel

Received on Thursday, 6 June 1996 04:03:53 UTC