Re: p1: Upgrade ordering (possible HTTP/2 impact)

Mark Nottingham <mnot@mnot.net> Tue, 23 April 2013 22:16 UTC

Return-Path: <ietf-http-wg-request@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 (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 32A3A21F93B0 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 23 Apr 2013 15:16:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.368
X-Spam-Level:
X-Spam-Status: No, score=-10.368 tagged_above=-999 required=5 tests=[AWL=-0.069, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G9MKhrYw2egh for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 23 Apr 2013 15:16:30 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 5F37421F93AA for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 23 Apr 2013 15:16:30 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UUlVb-0001O5-7y for ietf-http-wg-dist@listhub.w3.org; Tue, 23 Apr 2013 22:16:19 +0000
Resent-Date: Tue, 23 Apr 2013 22:16:19 +0000
Resent-Message-Id: <E1UUlVb-0001O5-7y@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1UUlVX-0001Mr-37 for ietf-http-wg@listhub.w3.org; Tue, 23 Apr 2013 22:16:15 +0000
Received: from mxout-08.mxes.net ([216.86.168.183]) by maggie.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1UUlVW-0007Xn-1i for ietf-http-wg@w3.org; Tue, 23 Apr 2013 22:16:15 +0000
Received: from [192.168.1.80] (unknown [118.209.190.66]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 428AB509B5; Tue, 23 Apr 2013 18:15:50 -0400 (EDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CAA4WUYgTTF+Tzo6qsOox6VOY6DzbPr4bigxoJiAqA01ScEgJkA@mail.gmail.com>
Date: Wed, 24 Apr 2013 08:15:47 +1000
Cc: Roberto Peon <grmocg@gmail.com>, Willy Tarreau <w@1wt.eu>, "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <8CA9C65B-6B43-4E38-B422-4F5FF087D784@mnot.net>
References: <B49447FF-CB94-43ED-9CA2-0698C64BB554@mnot.net> <20130420071042.GI26517@1wt.eu> <77849350-125C-4F36-8D78-0FF86DA0044E@mnot.net> <20130420071736.GK26517@1wt.eu> <BA1DBB8B-2E4D-49F5-AE98-F089A568BD4E@mnot.net> <20130423081209.GH8496@1wt.eu> <7B3A3DD8-BB24-4E09-831B-D27416B31622@mnot.net> <CAP+FsNe_xGvZSveE4hW0YmSTPvcbVytqtN5NX1wu2TmMH9w5QA@mail.gmail.com> <00F2FE82-F9A7-40AD-B829-6D82C16A75A4@mnot.net> <CAP+FsNe9UNY2Fj+fUA9M8DppmMr0NQ5VYsVCdVi0dddqT4VwBg@mail.gmail.com> <CAA4WUYgTTF+Tzo6qsOox6VOY6DzbPr4bigxoJiAqA01ScEgJkA@mail.gmail.com>
To: "William Chan (陈智昌)" <willchan@chromium.org>
X-Mailer: Apple Mail (2.1503)
Received-SPF: pass client-ip=216.86.168.183; envelope-from=mnot@mnot.net; helo=mxout-08.mxes.net
X-W3C-Hub-Spam-Status: No, score=-4.3
X-W3C-Hub-Spam-Report: AWL=-2.377, BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UUlVW-0007Xn-1i 17fa81dd4a2e1c074985225e32f1786a
X-Original-To: ietf-http-wg@w3.org
Subject: Re: p1: Upgrade ordering (possible HTTP/2 impact)
Archived-At: <http://www.w3.org/mid/8CA9C65B-6B43-4E38-B422-4F5FF087D784@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17512
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>

Keep in mind that Upgrade on a non-101 response is about advertising the possibility to upgrade *this* connection, whereas Alternate-Protocol is about advertising the potential to upgrade by switching connections.


On 24/04/2013, at 3:16 AM, William Chan (陈智昌) <willchan@chromium.org> wrote:

> I think adding the relative preference semantic is good.
> 
> I have to confess I was not aware of using Upgrade as a response header outside of a 101 or 426 response. This indeed sounds very similar to Alternate-Protocol. Is anyone actually using this in practice?
> 
> 
> On Tue, Apr 23, 2013 at 2:46 AM, Roberto Peon <grmocg@gmail.com> wrote:
> Excellent. Almost at the point of not needing alternate-protocol. :)
> 
> The last difference here is that alternate-protocol allows the client to cache this data, so that it may negotiate the new protocol (on some future connection) potentially without being forced to do an upgrade.
> 
> Today, this mainly is interesting for resources with an http scheme being served over an encrypted channel where the upgrade isn't necessary. With the value in the upgrade field cached, the browser can see an http scheme for that origin and immediately make an ALPN-negotiated connection 
> 
> -=R
> 
> 
> On Tue, Apr 23, 2013 at 2:35 AM, Mark Nottingham <mnot@mnot.net> wrote:
> On 23/04/2013, at 7:24 PM, Roberto Peon <grmocg@gmail.com> wrote:
> 
> > A complication here is that it isn't sufficient to state the protocol as HTTP/2
> > As an example assuming we may wish to use the version that negotiates using ALPN over TLS/:443, we'd be unhappy unless we become more specific about what the various version strings for (at least) HTTP/2 will mean in this field.
> 
> I think that's the plan...
> 
> > In alternate-protocol, this was dealt with by having different version strings for the possibly different negotiation mechanisms (though nothing but NPN was really used), e.g.
> > npn-http/2 vs http/2 or, more completely, 443:npn-http/2 or 80:http/2
> >
> > -=R
> >
> >
> > On Tue, Apr 23, 2013 at 1:14 AM, Mark Nottingham <mnot@mnot.net> wrote:
> > WFM
> >
> > On 23/04/2013, at 6:12 PM, Willy Tarreau <w@1wt.eu> wrote:
> >
> > > Hi Mark,
> > >
> > > On Tue, Apr 23, 2013 at 05:38:59PM +1000, Mark Nottingham wrote:
> > >> Proposal - add to p1 6.7:
> > >>
> > >> """
> > >> When occurring in a request, Upgrade's value indicate the protocol(s) the
> > >> client would like to upgrade to, in order of relative preference. When
> > >> occurring in a 101 (Switching Protocols) response, there will usually only be
> > >> one protocol indicated in Upgrade. When occurring in any other response,
> > >> Upgrade indicates the protocol(s) the server is capable of upgrading to, in
> > >> order of relative preference.
> > >> """
> > >
> > > I'm OK in the principle, though I think this should be fused into existing
> > > text, probably that way :
> > >
> > >   The "Upgrade" header field is intended to provide a simple mechanism
> > >   for transitioning from HTTP/1.1 to some other protocol on the same
> > >   connection.  A client MAY send a list of protocols in order of relative
> > >   preference in the Upgrade header field of a request to invite the server
> > >   to switch to one or more of those protocols before sending the final
> > >   response.  A server MUST send an Upgrade header field in 101 (Switching
> > >   Protocols) responses to indicate which protocol(s) are being switched
> > >   to, and MUST send it in 426 (Upgrade Required) responses to indicate
> > >   acceptable protocols in order of relative preference.  A server MAY
> > >   send an Upgrade header field in any other response to indicate that
> > >   they might be willing to upgrade to one of the specified protocols for
> > >   a future request, in order of relative preference.
> > >
> > > Willy
> > >
> >
> > --
> > Mark Nottingham   http://www.mnot.net/
> >
> >
> >
> >
> >
> 
> --
> Mark Nottingham   http://www.mnot.net/
> 
> 
> 
> 
> 

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