Re: #300: Define non-final responses

On Mon, Jul 18, 2011 at 04:05:42PM +1000, Mark Nottingham wrote:
> I think we're hitting diminishing returns here, and possibly approaching the angels dancing on the pins.
> 
> If someone has a proposal for a text change that they think will represent consensus, great.
> 
> In the meantime, I don't see any pushback on the proposed resolution, as it affects p1.

Before we rush into writing anything, we should try to think about some use
cases to ensure they can rely on a very clear understanding of the spec.
Among the things that were discussed in this thread :

  - Upgrade is mostly being used end-to-end despite being hop-by-hop, and
    contents are generally exchanged as tunnelled data between both ends
    over intermediaries which support it without specific handling of the
    upgraded protocol ;

  - In order to be usable through intermediaries, those who don't know the
    upgraded protocol are simply blind and do already work that way ; thus
    they don't care about semantics at this point as they don't participate
    to the upgraded protocol ;

  - Upgrade might be used to upgrade to next generation protocols such as
    SPDY without affecting the method's semantics ;

  - a server might need more information from the client before responding
    to an upgrade request (eg: session ID or cipher suite)

What I'm wondering is how would an HTTP-to-SPDY gateway work. Let's imagine
that we have a caching proxy which always adds an "Upgrade: SPDY/1.0" header
into all outgoing requests so that compliant servers may tentatively upgrade.

I think I get Roy's point about the GET semantics : if this caching proxy
gets a 101, it should still assume that it gets a response to the GET request
with whatever it can imply in terms of caching, origin, etc... Still, doing
so does not prevent the proxy from sending some required protocol data to the
server so that it can provide the adequate response.

It may also have implications about idempotence of the request when the
connection is unexpectedly aborted and the request retried.

With that said, I think we should wait for Roy's feedback and comments on
the subject. He certainly has precise ideas of how he expects Upgrade+101
to be used, and we should consider his ideas and better document the spec
accordingly.

Cheers,
Willy

Received on Monday, 18 July 2011 08:56:26 UTC