Re: updated http 1.1 rfcs and hop-by-hop

Amos Jeffries <squid3@treenet.co.nz> Tue, 19 August 2014 09:21 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 (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 14D301A8874 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 19 Aug 2014 02:21:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.97
X-Spam-Level:
X-Spam-Status: No, score=-6.97 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_102=0.6, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.668, 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 vhqHgHc134lq for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 19 Aug 2014 02:21:35 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 29BD11A8876 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 19 Aug 2014 02:21:35 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1XJfZG-00052N-GS for ietf-http-wg-dist@listhub.w3.org; Tue, 19 Aug 2014 09:19:02 +0000
Resent-Date: Tue, 19 Aug 2014 09:19:02 +0000
Resent-Message-Id: <E1XJfZG-00052N-GS@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <squid3@treenet.co.nz>) id 1XJfYv-0004tP-8C for ietf-http-wg@listhub.w3.org; Tue, 19 Aug 2014 09:18:41 +0000
Received: from 121-99-228-82.static.orcon.net.nz ([121.99.228.82] helo=treenet.co.nz) by maggie.w3.org with esmtp (Exim 4.72) (envelope-from <squid3@treenet.co.nz>) id 1XJfYu-0006Jw-6f for ietf-http-wg@w3.org; Tue, 19 Aug 2014 09:18:41 +0000
Received: from [192.168.2.97] (unknown [203.184.52.78]) by treenet.co.nz (Postfix) with ESMTP id BBBBEE700F; Tue, 19 Aug 2014 21:18:10 +1200 (NZST)
Message-ID: <53F31646.3060801@treenet.co.nz>
Date: Tue, 19 Aug 2014 21:17:58 +1200
From: Amos Jeffries <squid3@treenet.co.nz>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Martijn Faassen <faassen@startifact.com>
CC: ietf-http-wg@w3.org
References: <CAGT4ZFhOmN6N9zT0Z=edx6_kMUPczOc4zVNjQzDk5Bw3DFjtww@mail.gmail.com> <CAGT4ZFjt__Ct2n06gWJ5A2yLU0ZjTkSR19JG02PJ0W4SzRr=nQ@mail.gmail.com> <53F2E29D.7070506@treenet.co.nz> <CAGT4ZFjz52EesnhE9g4d-B4-XRKgioMaHetXOpyeBtgstpDHsQ@mail.gmail.com>
In-Reply-To: <CAGT4ZFjz52EesnhE9g4d-B4-XRKgioMaHetXOpyeBtgstpDHsQ@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=121.99.228.82; envelope-from=squid3@treenet.co.nz; helo=treenet.co.nz
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-3.449, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, TVD_RCVD_IP=0.001
X-W3C-Scan-Sig: maggie.w3.org 1XJfYu-0006Jw-6f 59b401ae8827e5add259f05a41cc06fd
X-Original-To: ietf-http-wg@w3.org
Subject: Re: updated http 1.1 rfcs and hop-by-hop
Archived-At: <http://www.w3.org/mid/53F31646.3060801@treenet.co.nz>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/26650
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>

On 19/08/2014 8:35 p.m., Martijn Faassen wrote:
> Hi there,
> 
> I'm not sure I'm getting it yet. Does this mean that servers should be
> sending out a Connection header that looks
> like this?
> 
> Connection: close, Transfer-Encoding
> 
> Instead of just:
> 
> Connection: close
> 
> Or is 'Transfer-Encoding' a hopX-by-hopY behavior (I don't understand
> what this is)?

Transfer-Encoding has the hopX-to-hopY behaviour.

The server just emits Transfer-Encoding. A proxy receiving it is allowed
to strip away the header and payload encoding, but it is also allowed to
just relay both through - provided the receiving client is also HTTP/1.1
and can handle the decoding.

The Proxy-Auth* headers are the same. Get sent by whichever hop needs to
auth and stripped by whichever receiving hop requested authentication.


hopX-by-hopY (of hopX-to-hopY) is how I describe a setup like this:
 client-> proxy -> X -> proxy -> proxy -> Y -> proxy -> server

If X and Y are both negotiating the use of features between themselves
and over the proxies between. hop-by-hop and end-to-end being the well
known extreme/special cases of the general X-to-Y situation.


> 
> I'm having trouble finding where the RFC currently specifies that a
> particular header, such as Transfer-Encoding, should be in a
> 'Connection' entry.

The TE header is one with mandatory Connection:TE. You can see that
"MUST" in the final paragraph of section 4.3:
"  sender of TE MUST also send a "TE" connection option within the
   Connection header field
"

The Upgrade header is another. You can see that "MUST" in the
4th-to-last paragraph of section 6.7:
"  sender MUST also send a Connection header
   field (Section 6.1) that contains an "upgrade" connection option
"

The Connection header itself is hop-by-hop, its "MUST" is in paragraph 2
of section 6.1:
"  A proxy or gateway MUST parse a received Connection header field
...
   then remove the Connection header field itself
   (or replace it with the intermediary's own connection options for the
   forwarded message).
"

HTH
Amos