Alt-Svc and HTTP/2 with Prior Knowledge | Re: draft-ietf-httpbis-alt-svc-12.txt

Kari Hurtta <hurtta-ietf@elmme-mailer.org> Fri, 26 February 2016 13:34 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 33E5D1B2AF6 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 26 Feb 2016 05:34:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.908
X-Spam-Level:
X-Spam-Status: No, score=-6.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.006, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Jb6QigIA1-Ju for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 26 Feb 2016 05:34:30 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 38BA21B2AF2 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 26 Feb 2016 05:34:29 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1aZIT8-0002qi-U2 for ietf-http-wg-dist@listhub.w3.org; Fri, 26 Feb 2016 13:30:06 +0000
Resent-Message-Id: <E1aZIT8-0002qi-U2@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <ylafon@w3.org>) id 1aZIT1-00019Z-1h for ietf-http-wg@listhub.w3.org; Fri, 26 Feb 2016 13:29:59 +0000
Received: from raoul.w3.org ([128.30.52.128]) by maggie.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <ylafon@w3.org>) id 1aZISy-0001g2-Vl for ietf-http-wg@w3.org; Fri, 26 Feb 2016 13:29:58 +0000
Received: from homard.platy.net ([80.67.176.7] helo=[192.168.1.39]) by raoul.w3.org with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from <ylafon@w3.org>) id 1aZISy-000C4h-7q for ietf-http-wg@w3.org; Fri, 26 Feb 2016 13:29:56 +0000
Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\))
Content-Type: text/plain; charset="us-ascii"
To: Julian Reschke <julian.reschke@gmx.de>, Mike Bishop <Michael.Bishop@microsoft.com>
From: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
In-Reply-To: <201602260718.u1Q7IFiQ011325@shell.siilo.fmi.fi>
Resent-From: Yves Lafon <ylafon@w3.org>
Date: Fri, 26 Feb 2016 08:22:41 +0000
Cc: Martin Thomson <martin.thomson@gmail.com>, Mark Nottingham <mnot@mnot.net>, HTTP WG <ietf-http-wg@w3.org>, Patrick McManus <mcmanus@ducksong.com>, Kari Hurtta <hurtta-ietf@elmme-mailer.org>
Content-Transfer-Encoding: quoted-printable
Resent-Date: Fri, 26 Feb 2016 14:29:51 +0100
Message-Id: <201602260821.u1Q8Ls59018223@shell.siilo.fmi.fi>
X-Name-Md5: efe3dad792d606410c9cc49cedaffc94
References: <20160209074851.32332.24065.idtracker@ietfa.amsl.com> <20160209182822.C37A959F@welho-filter2.welho.com> <B7164F24-DDA1-4753-8A8B-04809B1965FF@mnot.net> <CABkgnnVfZu5e1fOAOAgaxPR=mRS+xv+oDFN1gHRUFamEk_=VtQ@mail.gmail.com> <CY1PR03MB1374F3513049DBCB19D36BF287D70@CY1PR03MB1374.namprd03.prod.outlook.com> <56CEFF3F.8000602@gmx.de> <201602260718.u1Q7IFiQ011325@shell.siilo.fmi.fi>
Resent-To: ietf-http-wg@w3.org
X-Mailer: Apple Mail (2.3112)
X-W3C-Hub-Spam-Status: No, score=-4.7
X-W3C-Hub-Spam-Report: ALL_TRUSTED=-1, AWL=-2.256, BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, W3C_NW=0.5
X-W3C-Scan-Sig: maggie.w3.org 1aZISy-0001g2-Vl c5eb93e4cee01a976b7c7d0520acc8c2
X-Original-To: ietf-http-wg@w3.org
Subject: Alt-Svc and HTTP/2 with Prior Knowledge | Re: draft-ietf-httpbis-alt-svc-12.txt
Archived-At: <http://www.w3.org/mid/201602260821.u1Q8Ls59018223@shell.siilo.fmi.fi>
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/31105
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Kari Hurtta <hurtta-ietf@elmme-mailer.org>: (Fri Feb 26 09:18:15 2016)
> Julian Reschke <julian.reschke@gmx.de>: (Thu Feb 25 15:18:55 2016)
>> On 2016-02-10 22:31, Mike Bishop wrote:
>>> I agree.  For example, if the proposal of using a .well-known URI to delegate to an Alt-Svc gets traction and becomes an RFC, it could just update Alt-Svc to define that as having assurance as well.
>>> 
>>> Note that h2c on the same port doesn't need Alt-Svc, since the Upgrade: header from the server is already defined.  So what we're really talking about is h2c *on a different port*.  Honestly, I think if we put it on a different port and publish an Alt-Svc pointing to it, we might as well go direct (i.e. don't Upgrade from HTTP/1.1 on the new connection), which would need a new token anyway.
>> 
>> "new token" in what sense?
>> 
>> Best regards, Julian
> 
> 
> Hypertext Transfer Protocol Version 2 (HTTP/2)
> RFC 7540
> 
> 3.1.  HTTP/2 Version Identification
> https://tools.ietf.org/html/rfc7540#section-3.1
> 
> |   o  The string "h2c" identifies the protocol where HTTP/2 is run over
> |      cleartext TCP.  This identifier is used in the HTTP/1.1 Upgrade
> |      header field and in any place where HTTP/2 over TCP is identified.
> |
> |      The "h2c" string is reserved from the ALPN identifier space but
> |      describes a protocol that does not use TLS. 
> 
> 
> Is "h2c" reserved for clear text HTTP/2 with Upgrade: -header negotiation ?
> 
> If there is "h2c" on Alt-Svc it can mean either clear text HTTP/2
> with Upgrade -negation or clear text HTTP/2 with Prior Knowledge
> but it can not mean both.
> 
> 3.4.  Starting HTTP/2 with Prior Knowledge
> https://tools.ietf.org/html/rfc7540#section-3.4
> 
> |   A client can learn that a particular server supports HTTP/2 by other
> |   means.  For example, [ALT-SVC] describes a mechanism for advertising
> |   this capability.
> 
> So it is unclear that is Upgrade: -supposed to be run when 
> Alt-Svc -header gives "h2c". But clear text HTTP/2 usage with 
> Alt-Svc -header needs own RFC anyway (and nobody supports clear 
> text HTTP/2).

https://github.com/httpwg/http-extensions/blob/master/draft-ietf-httpbis-alt-svc.xml

Also this implicates that "h2c" means Upgrade: -usage:

| <t>
|    Furthermore, if the connection to the alternative service fails or is unresponsive, the client
|    &MAY; fall back to using the origin or another alternative service. Note, however, that this
|   could be the basis of a downgrade attack, thus losing any enhanced security properties of the
|   alternative service.  If the connection to the alternative service does not negotiate the
|   expected protocol (for example, ALPN fails to negotiate h2, or an Upgrade request to h2c is
|   not accepted), the connection to the alternative service &MUST; be considered to have failed.
| </t>

But because "h2c" with Alt-Svc needs new "reasonable assurances"
this can wait that someone wants write specification for this.

/ kari Hurtta