Subject: [TLS] ALPN - specifying client preference

From: Ashok Kumar <[email-masked]>
Date: Tue, 9 Apr 2013 12:11:48 +0530

With NPN, client could choose the protocol that it has better support for.

With ALPN, do we intend to add some mechanism where the client can specify
its preference? I believe the order in which the protocols are sent give
some preference, but is anyone interested in having options to say that
client prefers all protocols equally?

Regards,
Ashok

P.S.: I'm new to TLS list and apologize if the query is not relevant. I was
thinking more in lines of HTTP headers having qvalues.

---

From: Andrei Popov <[email-masked]>
Date: Tue, 9 Apr 2013 17:06:51 +0000

Hi Ashok,

In ALPN, the server SHOULD select the protocol that the server prefers among the protocols advertised by the client. Having said that, the client sends its list of supported protocols in descending order of preference (most-preferred protocol first). This allows some freedom for the server-side implementer to take the client's preference into account, but ultimately the protocol selection occurs on the server.

In NPN, the client SHOULD select the first protocol advertised by the server that it also supports, i.e. the server's preferred protocol SHOULD be selected by the client. An exception to this is the case where the client does not support any of the server's protocols, in which case the client simply chooses the client's most preferred protocol. So there is an expectation that the client will honor the server's preference, but practically this depends on the client-side NPN implementation.

As for the client preferring "all protocols equally", can you elaborate on the scenario? What would the server do differently if it had this information?

Thanks,

Andrei

From: [email-masked] [mailto:[email-masked]] On Behalf Of Ashok Kumar
Sent: Monday, April 8, 2013 11:42 PM
To: [email-masked]
Subject: [TLS] ALPN - specifying client preference

With ALPN, do we intend to add some mechanism where the client can specify its preference? I believe the order in which the protocols are sent give some preference, but is anyone interested in having options to say that client prefers all protocols equally?

Regards,
Ashok

P.S.: I'm new to TLS list and apologize if the query is not relevant. I was thinking more in lines of HTTP headers having qvalues.

---

From: Ashok Kumar <[email-masked]>
Date: Wed, 10 Apr 2013 10:50:37 +0530

Hi Andrei,

I was thinking in terms of having options to prevent strict preference
orders. Let's say in near future, browsers use ALPN to negotiate between
HTTP/1.1, SPDY/3, HTTP/2.0 and client doesn't mind between SPDY/3, HTTP/2.0
but prefers either of those over HTTP/1.1. I was just thinking that the
server need not pick one of the two just because it appears first and
thinks the client prefers it.

Now that I read your mail, "server SHOULD select protocol that the _server
prefers_ among the protocols advertised by the client", I see that it's
completely server's choice and hence such an feature may not be useful.

Thanks,
Ashok

On Tue, Apr 9, 2013 at 10:36 PM, Andrei Popov <[email-masked]>wrote:

>  Hi Ashok,****
>
> ** **
>
> In ALPN, the server SHOULD select the protocol that the server prefers
> among the protocols advertised by the client. Having said that, the client
> sends its list of supported protocols in descending order of preference
> (most-preferred protocol first). This allows some freedom for the
> server-side implementer to take the client’s preference into account, but
> ultimately the protocol selection occurs on the server.****
>
> ** **
>
> In NPN, the client SHOULD select the first protocol advertised by the
> server that it also supports, i.e. the server’s preferred protocol SHOULD
> be selected by the client. An exception to this is the case where the
> client does not support any of the server’s protocols, in which case the
> client simply chooses the client’s most preferred protocol. So there is an
> expectation that the client will honor the server’s preference, but
> practically this depends on the client-side NPN implementation.****
>
> ** **
>
> As for the client preferring “all protocols equally”, can you elaborate on
> the scenario? What would the server do differently if it had this
> information?****
>
> ** **
>
> Thanks,****
>
> ** **
>
> Andrei****
>
> ** **
>
> *From:* [email-masked] [mailto:[email-masked]] *On Behalf Of *Ashok
> Kumar
> *Sent:* Monday, April 8, 2013 11:42 PM
> *To:* [email-masked]
> *Subject:* [TLS] ALPN - specifying client preference****
>
> ** **
>
> ****
> ** **
> client prefers all protocols equally? ****
>
> ** **
>
> Regards,****
>
> Ashok****
>
> ** **
>
> P.S.: I'm new to TLS list and apologize if the query is not relevant. I
> was thinking more in lines of HTTP headers having qvalues.****
>

-- 
.- ... .... --- -.-