Re: h2 use of Upgrade

On Sep 2, 2014, at 3:18 PM, Martin Thomson wrote:

> On 31 August 2014 20:16, Roy T. Fielding <fielding@gbiv.com> wrote:
>> Note that the SETTINGS frame is a sufficient response if the request
>> was for OPTIONS.
> 
> Are you suggesting that we wouldn't provide an HTTP-level response
> (other than the 101) to the OPTIONS request?

I am saying that the 101 (in HTTP/1.1 bits) is followed immediately by
a SETTINGS frame (in HTTP/2 bits), and that SETTINGS frame is a response
if the original request was for OPTIONS * (but not for something like
OPTIONS /).  OPTIONS * was designed for that purpose after the first
discussions of HTTPng.  SETTINGS is exactly what OPTIONS * is meant to
retrieve.  So, all we have to say is that an h2 response to an Upgrade
for an "OPTIONS * HTTP/1.1" request is the SETTINGS frame.

But that's just one alternative.  We could also simply tunnel the
HTTP/1.1 response back as a Headers+END_STREAM, which might be needed
for some unknown extensions if they already abuse OPTIONS *.

....Roy

Received on Tuesday, 2 September 2014 23:02:35 UTC