updated http 1.1 rfcs and hop-by-hop

Martijn Faassen <faassen@startifact.com> Mon, 11 August 2014 14:47 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 78F151A0439 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 11 Aug 2014 07:47:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.548
X-Spam-Level:
X-Spam-Status: No, score=-5.548 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, 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 1bRV5RIb05Jy for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 11 Aug 2014 07:46:59 -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 EA35F1A042D for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 11 Aug 2014 07:46:58 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1XGqp8-0002Pd-TC for ietf-http-wg-dist@listhub.w3.org; Mon, 11 Aug 2014 14:43:46 +0000
Resent-Date: Mon, 11 Aug 2014 14:43:46 +0000
Resent-Message-Id: <E1XGqp8-0002Pd-TC@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <martijn.faassen@gmail.com>) id 1XGqof-0002HN-JR for ietf-http-wg@listhub.w3.org; Mon, 11 Aug 2014 14:43:17 +0000
Received: from mail-oa0-f52.google.com ([209.85.219.52]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <martijn.faassen@gmail.com>) id 1XGqoa-0008Rd-IY for ietf-http-wg@w3.org; Mon, 11 Aug 2014 14:43:17 +0000
Received: by mail-oa0-f52.google.com with SMTP id o6so6119234oag.39 for <ietf-http-wg@w3.org>; Mon, 11 Aug 2014 07:42:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=qjFO7VyOTWb4hw8RDn2/YYnQJgK7qLtkQi1YF/DlvkA=; b=yEnuI6tlSuncQH9Cxs34JoReHqlPCwB1e9A6t58tu/NlxYo6wxi5MOfweRKwq3JZMx nLLGa1t6USbwqNqQRIAA81kMZ7GPw2ikgwvjnKr10H+dxP5YzaJwQnJe2gDnQU27ueWJ 6awpVVDC5MSPBV5DJjN4JwQWSODgLIurTUBvYjsDbLQlQD5sUCgN/KlS7C+RDZHOJITU EtZRP/YnLoGJEcHuKdjz3VwEm9p2q98t6vAqoIHfeF0drZ4nECeFWoAlxswcreKxio/t aXerHf4WUCcbCaIe80TdcJGnsqavH/TrOB3pEliFA5gd6OY+L0o16j9hoLW0TJzDZ998 2dYQ==
MIME-Version: 1.0
X-Received: by 10.182.215.134 with SMTP id oi6mr3277994obc.84.1407768166686; Mon, 11 Aug 2014 07:42:46 -0700 (PDT)
Sender: martijn.faassen@gmail.com
Received: by 10.182.106.99 with HTTP; Mon, 11 Aug 2014 07:42:46 -0700 (PDT)
Date: Mon, 11 Aug 2014 16:42:46 +0200
X-Google-Sender-Auth: jGlqH7PekL1_8D6G611pyjfRgK8
Message-ID: <CAGT4ZFhOmN6N9zT0Z=edx6_kMUPczOc4zVNjQzDk5Bw3DFjtww@mail.gmail.com>
From: Martijn Faassen <faassen@startifact.com>
To: ietf-http-wg@w3.org
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.219.52; envelope-from=martijn.faassen@gmail.com; helo=mail-oa0-f52.google.com
X-W3C-Hub-Spam-Status: No, score=-0.7
X-W3C-Hub-Spam-Report: DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1XGqoa-0008Rd-IY 9894e502a5e5dea0190d5a65602b61ad
X-Original-To: ietf-http-wg@w3.org
Subject: updated http 1.1 rfcs and hop-by-hop
Archived-At: <http://www.w3.org/mid/CAGT4ZFhOmN6N9zT0Z=edx6_kMUPczOc4zVNjQzDk5Bw3DFjtww@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/26585
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>

Hi there,

[I hope this question reaches the right mailing list]

I'm trying to find the equivalent of RFC 2616, section 13.5.1 in the
new specs. This section defines those header fields considered
hop-by-hop, i.e.:

      - Connection
      - Keep-Alive
      - Proxy-Authenticate
      - Proxy-Authorization
      - TE
      - Trailers
      - Transfer-Encoding
      - Upgrade

I need such a list in order to implement a Python WSGI-based proxy.
See PEP 3333:

http://legacy.python.org/dev/peps/pep-3333/#other-http-features

  However, because WSGI servers and applications do not communicate
via HTTP, what
  RFC 2616 calls "hop-by-hop" headers do not apply to WSGI internal
communications.
  WSGI applications must not generate any "hop-by-hop" headers [4],
attempt to use
  HTTP features that would require them to generate such headers, or
rely on the content
  of any incoming "hop-by-hop" headers in the environ dictionary. WSGI
servers must
  handle any supported inbound "hop-by-hop" headers on their own, such
as by decoding
  any inbound Transfer-Encoding, including chunked encoding if applicable.

So, a WSGI proxy has to remove any hop-by-hop headers from the
response of the host it is proxying, and not pass them along. WSGI has
its own iterator based mechanism to support chunking, and a WSGI
server can then add the appropriate headers.

In section 13.5.1 of RFC 2616 these hop-by-hop headers are specified,
but I can't find the equivalent in the newer RFCs.

I do find section 6.1 in rfc7230, so I think this means that a
conforming server would list related headers in the Connection. But
what about Transfer-Encoding, for instance? A server that sends
"Connection: close" may not send Transfer-Encoding?

It's certainly possible that I'm missing something. I haven't read the
complete specs yet. But any guidance would be appreciated.

Regards,

Martijn