Re: [hybi] Fwd: New Version Notification for draft-mcmanus-httpbis-h2-websockets-01.txt

Kazuho Oku <> Sat, 11 November 2017 07:47 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B1360126CF6 for <>; Fri, 10 Nov 2017 23:47:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Bb2XZmuDAAAV for <>; Fri, 10 Nov 2017 23:47:00 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:400e:c05::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0578B120726 for <>; Fri, 10 Nov 2017 23:47:00 -0800 (PST)
Received: by with SMTP id 4so192210pge.1 for <>; Fri, 10 Nov 2017 23:46:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=vKHYnLB/kakIbPzNxb1ScOoGX9wmkZMbhe9mlzK9+pE=; b=FiO+Bm9jtyQc3I+Nnc8W1UWX78QTsOEFqRL/v7l9DmK7mAE+akZU6Nr4oyOmBoqVca N19oepqi86vuTTuBbPrdpwGBkeJP32Uo0B55DU9SoYlr8evYn16X3zMoQC2YVbGjr3jP DdcqcgZ6WX7IfJcdmvoCFQBGh2QWEKlhqBiM1895jSx0QP6sIdpxMweRjc1KM1jaajFR 2avKWYG9FIUYr5Xuf4qzqhhUSHj57dxv/IQ4QIMjGrMYi8ywQsdOP2x/6KRJQzgBuY5l vLFhhbbvlKfL8X98xXS0TZ9ykhNNysqr6xhFvLv6WlUgEdrkdMC/3QhntBC1ADI+Fx6o wXsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=vKHYnLB/kakIbPzNxb1ScOoGX9wmkZMbhe9mlzK9+pE=; b=J5jRpM8Lg1IrTh6Musui+cPFX5/wGgW4zBUJuCGOBpFO6LR5YTGjUEak5f4R/DB5SM 3nKTu0Ss+2QJDWiL/YEJDnt/Fv+IJs1fQaym9bxn/1qkUEpAuoiXQbNRzgAMEpps7TOr ZZDc/Yd6JC00+sj43eRVToJ/T9DEbKu3+k8RtnhWFKaO8kK31EtJk+4o83BZsVwcZnPE 1uRbisCffQhlNsKp+VPT1qzxJ8flT/kxot6IvxBm4jIDxJ0lyt74EVFaVH7gN+xiUJuh xvj3pAId1V7g5Dd7mhUy+OAuW215pbiMevEefeRG6ncuIikFWpxLDXOmsgD1oQ3GQcyB J4Ng==
X-Gm-Message-State: AJaThX5BKubBsWQoUx+a15fqA9rBBa2LXrqEo7El99p6B9Ax8v4deLRF fk2fcqarh/TYDN//cEO2+Gvqasii72zfSarPhpc=
X-Google-Smtp-Source: AGs4zMbLUM5k2IHii344WlbX6B0Xvq1t5KWXhTh3di35t6kl9xCR5+YsSC3MofaD0JFasKGaviPVgFRxPR9cQuy65M0=
X-Received: by with SMTP id l61mr2861404plb.27.1510386419555; Fri, 10 Nov 2017 23:46:59 -0800 (PST)
MIME-Version: 1.0
Received: by with HTTP; Fri, 10 Nov 2017 23:46:58 -0800 (PST)
In-Reply-To: <>
References: <> <> <> <> <> <>
From: Kazuho Oku <>
Date: Sat, 11 Nov 2017 15:46:58 +0800
Message-ID: <>
To: Takeshi Yoshino <>
Cc: Kari Hurtta <>, hybi <>, Patrick McManus <>, HTTP Working Group <>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <>
Subject: Re: [hybi] Fwd: New Version Notification for draft-mcmanus-httpbis-h2-websockets-01.txt
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Server-Initiated HTTP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 11 Nov 2017 07:47:02 -0000

2017-11-11 2:10 GMT+08:00 Takeshi Yoshino <>:
> On Sat, Nov 11, 2017 at 2:51 AM, Kari Hurtta <>
> wrote:
>> end of connection to client end of connection tells on that case
>> that server end of connection understand
>>         :upgrade
>> pseudo header.
>> It tells nothing about that what is behind of that server end of
>> connection.
>> Only after request is sent, http response tells if that authority
>> and path supporting that upgrade. Error is reported as http status code.
>> I see that reverse proxy can send SETTINGS   ENABLE_UPGRADE (or
>> even when it does not konw if next hop supports that. Support
>> of next hop or origin server is reported by when that protocol
>> is triedm failure is reported on http status code.
> Ideally I want to allow a browser to know as much as possible info about the
> capability of the path with less speculative attempts, for less fallback.
> So, I investigated this situation and explored how much info we could give
> But yes, the tool, "SETTINGS", we have is only about the peer end of a
> connection. I think it does make sense to just follow that principle. We can
> build the opt-in mechanism by that for each hop, and then, proxies are still
> allowed to emit errors on capability mismatch between connections, as you
> said.
> We could design error code, fallback, etc. for this kind of cases if it
> turns out we really need to take care of. For the initial implementation,
> maybe we could just let browsers give up when a connection attempt fails on
> a connection with ENABLE_UPGRADE (or ENABLE_CONNECT_PROTOCOL) announced.

I agree.

While I agree that having a status code that indicates failure to
upgrade the connection "end-to-end" might be a nice idea, I would also
argue that the necessity is not specific to HTTP/2.

We could have had a connection-cannot-be-upgraded status code for
HTTP/1.1. But in reality, we do not have such a status code, and
nobody has argue for having that (as I know of).

Considering the fact, I would anticipate that we will be fine without
adding a new status code to indicate such failure.

Kazuho Oku