Re: [PREVIEW] 1xx response forwarding

From: Henrik Nordström <henrik_at_henriknordstrom.net>
Date: Fri, 20 Aug 2010 22:13:33 +0200

fre 2010-08-20 klockan 13:00 -0600 skrev Alex Rousskov:
> 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.

RFC 2145 section 2.3 Which version number to send in a message

   An HTTP client SHOULD send a request version equal to the highest
   version for which the client is at least conditionally compliant

   An HTTP server SHOULD send a response version equal to the highest
   version for which the server is at least conditionally compliant

   An HTTP server MAY send a lower response version, if it is known or
   suspected that the client incorrectly implements the HTTP
   specification, but this should not be the default, and this SHOULD
   NOT be done if the request version is HTTP/1.1 or greater.

Note: Proxy servers are both servers and clients depending on which side
you look at.

RFC 2616 3.2.2 http URL

  The semantics are that the identified resource is located at
  the server listening for TCP connections on that port of that host

Remember that use of NAT, TCP/IP load balancers etc is pretty much
outside all normal TCP/IP specifications. IP derived specifications
assumes end-to-end semantics at IP level unless otherwise explicitly
stated, where relevant.

Or put in other words, if you use NAT or TCP/IP load balancing or
similar techniques making several different servers answer on the same
ip:port then it's your responsibility to make sure your server as a
whole acts in a coherent manner. As far as specifications is concerned
it's still a single server, even if it internally splits the load across
several physically distinct servers. Many implementations gets bitten by
this at various levels, most notably for the HTTP specifications is
ETag, Content-Location and Location mismatches. HTTP version is in this
same category.

Regards
Henrik
Received on Fri Aug 20 2010 - 20:13:37 MDT

This archive was generated by hypermail 2.2.0 : Sat Aug 21 2010 - 12:00:04 MDT