On 08/20/2010 09:26 AM, Henrik Nordström wrote:
See RFC on use and meaning of HTTP version numbers.

The only relevant RFC text I can find is an informal discussion that HTTP version is tied to a "message sender", an undefined concept. However, even if we replace "message sender" with "client or server", my assertion that HTTP does not guarantee that one host:port corresponds to one "client or server" appears to be valid.

In other words, RFC requirement to maintain a database of server versions relies on an undocumented assumption that we can identify servers by some short, often reused component of a request (such as host:port). That assumption holds for most but not all current real-world environments.

Alex.


fre 2010-08-20 klockan 08:58 -0600 skrev Alex Rousskov:
On 08/20/2010 08:36 AM, Henrik Nordström wrote:

Some aspects of http is hop-by-hop not end-to-end. Processing of Expect is one 
such thing. Transfer encoding and message delimiting another.

Sure. We can consider the "next hop == origin server" case to avoid
distractions. I am only wondering whether http://host/path1 and
http://host/path2 responses are guaranteed to have the same protocol
version. I do not think HTTP gives such guarantees, and yet its
requirements imply that remembering versions using host names should work.

Alex.

We just look at what we know about the nexthop we select. Actual URI is pretty 
irrelevant unless used as selecting factor for selecting the nexthop.

Yes proper Expect processing needs to be done in our client (server side in our 
terminology).

regards
Henrik
----- Ursprungsmeddelande -----
On 08/20/2010 06:30 AM, Henrik Nordström wrote:
tor 2010-08-19 klockan 10:41 -0600 skrev Alex Rousskov:

The patch removes the ignore_expect_100 feature because we now
forward 100 Continue messages. Is everybody OK with that removal?

May need to keep/resurrect it when adding next hop version check as
required by Expect..

Good point. The next hop version check is better done on the server side
though, right? We may not yet know the next hop when accepting the
request.

BTW, most things in HTTP are URI- and not hostname-based. I wonder what
"server" or "next hop" means when checking for supported versions. Do we
look just at the host name:port and hope that it reflects the version of
everything running there?

Thanks,

Alex.


Reply via email to