Subject: Adopting Alternative Services as a WG product

From: Mark Nottingham <[email-masked]>
Date: Fri, 21 Mar 2014 10:42:16 +1100

In London, we agreed to use the Alternative Services approach to satisfy issue #349 (Load Asymmetry).

In subsequent discussion at the Design Team Meeting, it seemed like the most reasonable approach to doing this would be to publish the non-HTTP/2 specific parts in a separate draft, while keeping those parts specific to HTTP/2 in the main spec (in particular, the ALTSVC frame).

I've just submitted draft -04 of Alternative Services:
  http://tools.ietf.org/html/draft-nottingham-httpbis-alt-svc-04
under consultation with Martin and Patrick.

In parallel, I've just made a pull request to add the HTTP/2-specific parts, with appropriate references:
  https://github.com/http2/http2-spec/pull/439

As discussed, neither of these proposals contains language about HTTP:// over TLS or opportunistic encryption; that discussion is separate. 

Also as discussed, none of this places any requirement upon a recipient to do anything special for ALTSVC beyond not blowing up when it's encountered.

Please have a look at these and raise any concerns you have. The plan is to convert the draft to a WG document, and Julian has graciously agreed to take over its editorship.

Cheers,

--
Mark Nottingham   http://www.mnot.net/

---

From: Mark Nottingham <[email-masked]>
Date: Fri, 21 Mar 2014 17:46:10 +1100

Sorry, operator error; forgot to run make :-/

Please see:
  http://tools.ietf.org/html/draft-nottingham-httpbis-alt-svc-05

Cheers,

---

From: Julian Reschke <[email-masked]>
Date: Fri, 21 Mar 2014 09:06:33 +0100

> Please have a look at these and raise any concerns you have. The plan is to convert the draft to a WG document, and Julian has graciously agreed to take over its editorship.

Stating the obvious: I support this proposal.

Best regards, Julian

---

From: William Chan (陈智昌) <[email-masked]>
Date: Tue, 25 Mar 2014 13:33:27 -0700

I support this proposal.

On Fri, Mar 21, 2014 at 1:06 AM, Julian Reschke <[email-masked]>wrote:

>> In subsequent discussion at the Design Team Meeting, it seemed like the
>> most reasonable approach to doing this would be to publish the non-HTTP/2
>> specific parts in a separate draft, while keeping those parts specific to
>> HTTP/2 in the main spec (in particular, the ALTSVC frame).
>>
>> As discussed, neither of these proposals contains language about HTTP://over TLS or opportunistic encryption; that discussion is separate.
>>
>> Also as discussed, none of this places any requirement upon a recipient
>> to do anything special for ALTSVC beyond not blowing up when it's
>> encountered.
>>
>> Please have a look at these and raise any concerns you have. The plan is
>> to convert the draft to a WG document, and Julian has graciously agreed to
>> take over its editorship.
>>
>

---

From: Roberto Peon <[email-masked]>
Date: Tue, 25 Mar 2014 13:59:28 -0700

I like the bones of this, but don't like that the frame size on stream 0 is
different from the frame size on stream !0.
It is missing descriptions of what happens at proxies (i.e. it should be
hop-to-hop)

ints should probably be described as unsigned ints

the length of origin should be stated as length of payload - length of
other fields, unless we follow the similar pattern elsewhere with other
frames.
-=R

---

From: Mark Nottingham <[email-masked]>
Date: Wed, 26 Mar 2014 08:29:04 +1100

I think these are manageable concerns. 

I'm not hearing any pushback on adopting alt-svc, and as mentioned there's been a good level of support for it, so Julian, please fork draft-nottingham-httpbis-alt-svc-05 and create draft-ietf-httpbis-alt-svc-00 in the http2-spec repository (I believe you already have access there).

Source is here:
  https://github.com/mnot/I-D/tree/master/httpbis-alt-svc

I'll leave it up to you to figure out whether you want to use the markdown or XML as source. :)

Martin, please consider the corresponding pull request as editor-ready and make adjustments / ask questions as you see fit.

Cheers,

On 26 Mar 2014, at 7:59 am, Roberto Peon <[email-masked]> wrote:

> I like the bones of this, but don't like that the frame size on stream 0 is different from the frame size on stream !0.
> It is missing descriptions of what happens at proxies (i.e. it should be hop-to-hop) 
> 
> the length of origin should be stated as length of payload - length of other fields, unless we follow the similar pattern elsewhere with other frames.
> -=R
> 
> 
> On Tue, Mar 25, 2014 at 1:33 PM, William Chan (陈智昌) <[email-masked]> wrote:
> I support this proposal.
> 
> 
> On Fri, Mar 21, 2014 at 1:06 AM, Julian Reschke <[email-masked]> wrote:

---

From: Roberto Peon <[email-masked]>
Date: Tue, 25 Mar 2014 14:34:50 -0700

> I think these are manageable concerns.

These aren't even concerns. These are minor nits that seem easily addressed.
-=R

>
> I'm not hearing any pushback on adopting alt-svc, and as mentioned there's
> been a good level of support for it, so Julian, please fork
> draft-nottingham-httpbis-alt-svc-05 and create
> draft-ietf-httpbis-alt-svc-00 in the http2-spec repository (I believe you
> already have access there).
>
> Source is here:
> Martin, please consider the corresponding pull request as editor-ready and
> make adjustments / ask questions as you see fit.
>
> Cheers,
>
>
>
> > I like the bones of this, but don't like that the frame size on stream 0
> is different from the frame size on stream !0.

---

From: Rob Trace <[email-masked]>
Date: Tue, 25 Mar 2014 21:38:44 +0000

I think I have stated this before but we are neutral to this as long as it does not further delay HTTP/2.  It is not something that we are interesting in implementing at this time.

Thanks!!

-Rob

-----Original Message-----
From: Mark Nottingham [mailto:[email-masked]] 
Sent: Tuesday, March 25, 2014 2:29 PM
To: Roberto Peon
Cc: "William Chan (陈智昌)"; Julian F. Reschke; HTTP Working Group
Subject: Re: Adopting Alternative Services as a WG product

Source is here:

Cheers,

---

From: Martin Thomson <[email-masked]>
Date: Tue, 25 Mar 2014 15:55:09 -0700

> Martin, please consider the corresponding pull request as editor-ready and make adjustments / ask questions as you see fit.

On it.  I noticed a few things myself.  I'll catch Roberto's concerns
at the same time.

---

From: Martin Thomson <[email-masked]>
Date: Tue, 25 Mar 2014 16:52:32 -0700

> On it.  I noticed a few things myself.  I'll catch Roberto's concerns

OK, we're golden.  The only things I didn't do, but would like to, are:

a) I'd like to lose the reserved bits.

b) Like Roberto, I'm made uncomfortable by the asymmetry of the stream
0/not stream 0 uses of the same frame.  Can we remove the
stream-related use of ALTSVC and require that it be on stream 0?  The
Alt-Svc header field should suffice for stream-related tasks.

Would this be strictly worse if I did these?

---

From: Mark Nottingham <[email-masked]>
Date: Thu, 27 Mar 2014 14:14:21 +1100

> I like the bones of this, but don't like that the frame size on stream 0 is different from the frame size on stream !0.

Only in that the origin field is ignored on a non-zero frame. I'm happy to drop it on non-zero, however.

> It is missing descriptions of what happens at proxies (i.e. it should be hop-to-hop) 

Agreed.

> ints should probably be described as unsigned ints

Where aren't they?

> the length of origin should be stated as length of payload - length of other fields, unless we follow the similar pattern elsewhere with other frames.

Agreed.

---

From: Mark Nottingham <[email-masked]>
Date: Thu, 27 Mar 2014 14:14:28 +1100

> a) I'd like to lose the reserved bits.

OK by me.

> Alt-Svc header field should suffice for stream-related tasks.

See previous message.

---

From: Julian Reschke <[email-masked]>
Date: Fri, 28 Mar 2014 10:32:59 +0100

On 2014-03-25 22:29, Mark Nottingham wrote:
> ...

The draft has been transformed into a WG draft and submitted as -00; see 
the changes at 
<http://tools.ietf.org/rfcdiff?url1=draft-nottingham-httpbis-alt-svc-05&url2=draft-ietf-httpbis-alt-svc-00>.

Best regards, Julian

---

From: Paul Hoffman <[email-masked]>
Date: Fri, 28 Mar 2014 10:12:19 -0700

The new draft looks great. However, I don't understand the syntax question.
Why are the quotation marks not appropriate?

---

From: Julian Reschke <[email-masked]>
Date: Fri, 28 Mar 2014 18:43:37 +0100

On 2014-03-28 18:12, Paul Hoffman wrote:
> The new draft looks great. However, I don't understand the syntax
> question. Why are the quotation marks not appropriate?

a) There's potential confusion with other header fields where double 
quotes indicate quoted-string escaping.

b) It adds overhead to the common case of simple protocol names.

c) It doesn't solve the problem that protocol names can contain octets 
not suitable for use in header fields.

Best regards, Julian