Re: [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 15:50 UTC

Return-Path: <hurtta@siilo.fmi.fi>
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 8B8FE129ACC for <hybi@ietfa.amsl.com>; Sat, 11 Nov 2017 07:50:26 -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 2_MFIyKQ-pnQ for <hybi@ietfa.amsl.com>; Sat, 11 Nov 2017 07:50:23 -0800 (PST)
Received: from smtpVgate.fmi.fi (smtpvgate.fmi.fi [193.166.223.36]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B55EF129A90 for <hybi@ietf.org>; Sat, 11 Nov 2017 07:50:22 -0800 (PST)
Received: from basaari.fmi.fi (basaari.fmi.fi [193.166.211.14]) (envelope-from hurtta@siilo.fmi.fi) by smtpVgate.fmi.fi (8.13.8/8.13.8/smtpgate-20161014/smtpVgate) with ESMTP id vABFoB5S028288 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 11 Nov 2017 17:50:11 +0200
Received: from shell.siilo.fmi.fi by basaari.fmi.fi with ESMTP id vABFoBHs000963 ; Sat, 11 Nov 2017 17:50:11 +0200
Received: from shell.siilo.fmi.fi ([127.0.0.1]) by shell.siilo.fmi.fi with ESMTP id vABFoBue022552 ; Sat, 11 Nov 2017 17:50:11 +0200
Received: by shell.siilo.fmi.fi id vABFo8kw022551; Sat, 11 Nov 2017 17:50:08 +0200
Message-Id: <201711111550.vABFo8kw022551@shell.siilo.fmi.fi>
In-Reply-To: <d5edca63-b782-9c57-f169-478b590ccf35@treenet.co.nz>
References: <e7420a25-7f57-8849-9820-ccc33053bd97@treenet.co.nz> <20171111091949.5F294B51FC@welho-filter2.welho.com> <d5edca63-b782-9c57-f169-478b590ccf35@treenet.co.nz>
To: Amos Jeffries <squid3@treenet.co.nz>
Date: Sat, 11 Nov 2017 17:50:08 +0200
Sender: hurtta@siilo.fmi.fi
From: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
CC: Kari Hurtta <hurtta-ietf@elmme-mailer.org>, HTTP Working Group <ietf-http-wg@w3.org>, HYBI Working Group <hybi@ietf.org>, Patrick McManus <pmcmanus@mozilla.com>
X-Mailer: ELM [version ME+ 2.5 PLalpha46]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
X-Filter: smtpVgate.fmi.fi: 3 received headers rewritten with id 20171111/39224/01
X-Filter: smtpVgate.fmi.fi: ID 39226/01, 1 parts scanned for known viruses
X-Filter: basaari.fmi.fi: ID 164217/01, 1 parts scanned for known viruses
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (smtpVgate.fmi.fi [193.166.223.36]); Sat, 11 Nov 2017 17:50:14 +0200 (EET)
Archived-At: <https://mailarchive.ietf.org/arch/msg/hybi/2WPin6QS8GWWSeSWwYeNGbURSq8>
Subject: Re: [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 15:50:27 -0000

Amos Jeffries <squid3@treenet.co.nz>: (Sat Nov 11 16:17:01 2017)
>> 
>> 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.
> 
> If ":upgrade" has the same optional nature as Upgrade did there is zero 
> point in creating it. Just use the existing Upgrade header in the 
> HEADERS frame. That does not require any negotiation.

Wrong.  HTTP/2 does not support Upgrade, therefore it needs negotiation.


8.1.2.2.  Connection-Specific Header Fields
https://tools.ietf.org/html/rfc7540#section-8.1.2.2

"   HTTP/2 does not use the Connection header field to indicate
"   connection-specific header fields; in this protocol, connection-
"   specific metadata is conveyed by other means.  An endpoint MUST NOT
"   generate an HTTP/2 message containing connection-specific header
"   fields; any message containing connection-specific header fields MUST
"   be treated as malformed (Section 8.1.2.6).

And

"      Note: HTTP/2 purposefully does not support upgrade to another
"      protocol.  The handshake methods described in Section 3 are
"      believed sufficient to negotiate the use of alternative protocols.


Indication that Upgrade: is "upgrade HTTP/2 stream to tunnel of another protocol"
need negotiation.

HTTP/1.1 Upgrade: is "upgrade connection to another protocol".

> The whole point of SETTINGS is to promise the recipient of that frame 
> that the things mentioned in it will work. No maybes or guessing.

Point of SETTINGS is to promise that that frame is interepreted 
accoding of new specification and not accoding of RFC 7540
which means "stream error (Section 5.4.2) of type PROTOCOL_ERROR".

That is treatment of ":upgrade" pseudo header and "Upgrade" connection
header according of RFC 7540.


SETTINGS can not promise anything about next hops on multihop
environment when there is several upstream targets.

You can NOT know that there is Websocket on particular
:path bofore you know this path. SETTINGS can not tell that.

Ability to do Upgrade to websocket is granularity of
URL path. If you change URL path then may be that 
Upgrade is not possible.

/ Kari Hurtta