Subject: Ben Campbell's Yes on draft-ietf-httpbis-alt-svc-13: (with COMMENT)

From: "Ben Campbell" <[email-masked]>
Date: Tue, 01 Mar 2016 19:20:58 -0800

Ben Campbell has entered the following ballot position for
draft-ietf-httpbis-alt-svc-13: Yes

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-httpbis-alt-svc/

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Just a few minor comments:

= Substantive =

- 2.2, last paragraph:

Why might a client choose not to to remove non-persistent alternatives
from cache on a network change? (i.e., why not MUST)?

- 2.4, first 2 paragraphs:

These paragraphs seem to be equivalent to saying “Clients MAY use
alternative services; also they SHOULD.”  Or is the intent that, if a
client uses alternative services, it SHOULD do so under these
conditions?

= Editorial =

- 2.3, first paragraph:
I find "MUST only" constructions to be confusing and sometimes ambiguous
due to the implied NOT. I suggest making that explicit:
OLD
   A client MUST only use a TLS-based alternative service if the client
also supports TLS Server Name Indication (SNI).
NEW
   A client MUST NOT use a TLS-based alternative service unless the
client supports TLS Server Name Indication (SNI).

---

From: Mike Bishop <[email-masked]>
Date: Wed, 2 Mar 2016 18:36:16 +0000

2.2 - Hypothetically, a more complex client might cache per network location and revive the cached entries when it returns to the network where it received them.

I think your reading of MAY/SHOULD is correct.  Using Alt-Svc itself is totally optional -- but if you choose to, this is when you SHOULD switch to a given alternative.

-----Original Message-----
From: Ben Campbell [mailto:[email-masked]] 
Sent: Tuesday, March 1, 2016 7:21 PM
To: The IESG <[email-masked]>
Cc: [email-masked]; Mike Bishop <[email-masked]>; [email-masked]; Mike Bishop <[email-masked]>; [email-masked]
Subject: Ben Campbell's Yes on draft-ietf-httpbis-alt-svc-13: (with COMMENT)

When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.)

= Substantive =

- 2.2, last paragraph:

Why might a client choose not to to remove non-persistent alternatives from cache on a network change? (i.e., why not MUST)?

These paragraphs seem to be equivalent to saying “Clients MAY use alternative services; also they SHOULD.”  Or is the intent that, if a client uses alternative services, it SHOULD do so under these conditions?

= Editorial =

- 2.3, first paragraph:
I find "MUST only" constructions to be confusing and sometimes ambiguous due to the implied NOT. I suggest making that explicit:
OLD
   A client MUST only use a TLS-based alternative service if the client also supports TLS Server Name Indication (SNI).
NEW
   A client MUST NOT use a TLS-based alternative service unless the client supports TLS Server Name Indication (SNI).

---

From: "Ben Campbell" <[email-masked]>
Date: Wed, 02 Mar 2016 12:41:57 -0600

On 2 Mar 2016, at 12:36, Mike Bishop wrote:

> 2.2 - Hypothetically, a more complex client might cache per network 
> location and revive the cached entries when it returns to the network 
> where it received them.
>

That seems reasonable. It might be worth mentioning that in the text as 
an example of why one might not follow the SHOULD.

> I think your reading of MAY/SHOULD is correct.  Using Alt-Svc itself 
> is totally optional -- but if you choose to, this is when you SHOULD 
> switch to a given alternative.

I suspect the "if you choose to" part was intended to be implied by "if 
a client becomes aware of an alternative service...", with the idea that 
only clients that implement this would "become aware". But I think it 
would be more clear to say something like "If a supporting client 
becomes aware..."

Thanks!

Ben.

---

From: Mark Nottingham <[email-masked]>
Date: Thu, 3 Mar 2016 14:09:09 +1100

Hi Ben,

See:
  https://github.com/httpwg/http-extensions/commit/36b220791cc7

Regarding this:

> That seems reasonable. It might be worth mentioning that in the text as an example of why one might not follow the SHOULD.

I had trouble incorporating that in a way that didn't make the spec significantly harder to read. 

Also, IIRC a bigger reason for the SHOULD is that we're acknowledging that information about network state might not be available or reliable.

Cheers,

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