[hybi] proxy & ENABLE_UPGRADE SETTINGS | Re: Fwd: New Version Notification for draft-mcmanus-httpbis-h2-websockets-01.txt

Kari Hurtta <hurtta-ietf@elmme-mailer.org> Sat, 11 November 2017 09:19 UTC

Return-Path: <khurtta@welho.com>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 783BA129418 for <hybi@ietfa.amsl.com>; Sat, 11 Nov 2017 01:19:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 NY73PeM_D7BE for <hybi@ietfa.amsl.com>; Sat, 11 Nov 2017 01:19:52 -0800 (PST)
Received: from welho-filter2.welho.com (welho-filter2.welho.com [83.102.41.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A8FAB12420B for <hybi@ietf.org>; Sat, 11 Nov 2017 01:19:52 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by welho-filter2.welho.com (Postfix) with ESMTP id 5F294B51FC; Sat, 11 Nov 2017 11:19:49 +0200 (EET)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp2.welho.com ([IPv6:::ffff:83.102.41.85]) by localhost (welho-filter2.welho.com [::ffff:83.102.41.24]) (amavisd-new, port 10024) with ESMTP id hrnN1VDmowYv; Sat, 11 Nov 2017 11:19:47 +0200 (EET)
Received: from localhost (89-27-39-95.bb.dnainternet.fi [89.27.39.95]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp2.welho.com (Postfix) with ESMTPS id 1D41221C; Sat, 11 Nov 2017 11:19:41 +0200 (EET)
In-Reply-To: <e7420a25-7f57-8849-9820-ccc33053bd97@treenet.co.nz>
References: <e7420a25-7f57-8849-9820-ccc33053bd97@treenet.co.nz>
To: HTTP Working Group <ietf-http-wg@w3.org>
Date: Sat, 11 Nov 2017 11:19:41 +0200
Sender: hurtta@[192.168.0.26]
From: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
CC: HYBI Working Group <hybi@ietf.org>, Patrick McManus <pmcmanus@mozilla.com>, Amos Jeffries <squid3@treenet.co.nz>, Kari Hurtta <hurtta-ietf@elmme-mailer.org>
X-Mailer: ELM [version ME+ 2.5 PLalpha46]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20171111091949.5F294B51FC@welho-filter2.welho.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/hybi/8FFaWOvRr2hdmy4q5ldOddIas2w>
Subject: [hybi] proxy & ENABLE_UPGRADE SETTINGS | Re: Fwd: New Version Notification for draft-mcmanus-httpbis-h2-websockets-01.txt
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/hybi/>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 11 Nov 2017 09:19:55 -0000

>     SETTINGS   ENABLE_UPGRADE (or ENABLE_CONNECT_PROTOCOL) from server
>     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
>     ENABLE_CONNECT_PROTOCOL)
>     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.

Amos Jeffries <squid3@treenet.co.nz> wrote:

> A proxy that sends that ENABLE_UPGRADE is guaranteeing that it *will* 
> service the upgrade and handle the resulting traffic syntax. By itself 
> if necessary.

I ligthly disagreed.

ENABLE_UPGRADE just tells that :upgrade is not considered to
be error which causes stream error of type PROTOCOL_ERROR
emitted and tells possible full duplex handling (as was on
:method = CONNECT).

You can also try Upgrade: on HTTP/1.1 and server or proxy
have permission to ignore it.   Upgrade is just suggestion
from client.  

In that case request is processed as upgrade is not done.
It can still succeed (without protocol change) or fail
as any http request can.


> In the general case a proxy that negotiates a SETTING it cannot 
> guarantee support for is broken. It must instead negotiate a SETTINGS 
> without the feature and re-negotiate with another SETTINGS later when it 
> has better information.

/ Kari Hurtta