WGLC p1: Persistence & 1.1 proxies

Ben Niven-Jenkins <ben@niven-jenkins.co.uk> Mon, 29 April 2013 19:27 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 (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 93E7821F9ADE for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 29 Apr 2013 12:27:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 8pV2RoFMfDsf for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 29 Apr 2013 12:27:10 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org []) by ietfa.amsl.com (Postfix) with ESMTP id 1706821F9B23 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 29 Apr 2013 12:27:10 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UWths-0004pL-EZ for ietf-http-wg-dist@listhub.w3.org; Mon, 29 Apr 2013 19:25:48 +0000
Resent-Date: Mon, 29 Apr 2013 19:25:48 +0000
Resent-Message-Id: <E1UWths-0004pL-EZ@frink.w3.org>
Received: from maggie.w3.org ([]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <ben@niven-jenkins.co.uk>) id 1UWthi-0004o9-85 for ietf-http-wg@listhub.w3.org; Mon, 29 Apr 2013 19:25:38 +0000
Received: from mailex.mailcore.me ([]) by maggie.w3.org with esmtp (Exim 4.72) (envelope-from <ben@niven-jenkins.co.uk>) id 1UWthg-0001df-K0 for ietf-http-wg@w3.org; Mon, 29 Apr 2013 19:25:38 +0000
Received: from [] (helo=xxx.corp.velocix.com) by mail4.atlas.pipex.net with esmtpa (Exim 4.71) (envelope-from <ben@niven-jenkins.co.uk>) id 1UWthL-0002IK-46 for ietf-http-wg@w3.org; Mon, 29 Apr 2013 20:25:15 +0100
From: Ben Niven-Jenkins <ben@niven-jenkins.co.uk>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Date: Mon, 29 Apr 2013 20:25:13 +0100
Message-Id: <2A3A6799-CC6A-4214-B317-C9F3A150D0E9@niven-jenkins.co.uk>
To: HTTP Working Group <ietf-http-wg@w3.org>
Mime-Version: 1.0 (Apple Message framework v1085)
X-Mailer: Apple Mail (2.1085)
X-Mailcore-Auth: 9600544
X-Mailcore-Domain: 172912
Received-SPF: none client-ip=; envelope-from=ben@niven-jenkins.co.uk; helo=mailex.mailcore.me
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-3.450, RCVD_IN_DNSWL_NONE=-0.0001
X-W3C-Scan-Sig: maggie.w3.org 1UWthg-0001df-K0 05ac6c6497752600081bbbe2dba908b8
X-Original-To: ietf-http-wg@w3.org
Subject: WGLC p1: Persistence & 1.1 proxies
Archived-At: <http://www.w3.org/mid/2A3A6799-CC6A-4214-B317-C9F3A150D0E9@niven-jenkins.co.uk>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17672
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>


Section 6.3 of p1 states:

   o  If the received protocol is HTTP/1.0, the "keep-alive" connection
      option is present, the recipient is not a proxy, and the recipient
      wishes to honor the HTTP/1.0 "keep-alive" mechanism, the
      connection will persist after the current response; otherwise,

and then later on in the same section states:

   A proxy server MUST NOT maintain a persistent connection with an
   HTTP/1.0 client (see Section 19.7.1 of [RFC2068] for information and
   discussion of the problems with the Keep-Alive header field
   implemented by many HTTP/1.0 clients).

It is not clear that the solution proposed actually solves the issue at hand.

AIUI Section 19.7.1 of RFC2068 describes a case where persistent connections can break between HTTP/1.0 clients & servers if there is a HTTP/1.0 proxy in the middle that does not support persistent connections.

The solution in p1 (according to the text quoted above) is for a HTTP/1.1 proxy not to maintain persistent connections with HTTP/1.0 clients but I don't see how that solves the issue referred to by reference to 2068 (HTTP/1.0 proxy that doesn't support persistence between two HTTP/1.0 implementations that do breaks persistence) or why proxies are called out for special attention as the same issue appears to affect HTTP/1.1 servers talking to HTTP/1.0 client, no?

It would appear that either:
- The advice for proxies not to maintain persistent connections with HTTP/1.0 clients is correct but the justification for it (19.7.1 of RFC2068) is wrong/not relevant.
- The problem trying to be solved is that described in 19.7.1 of RFC2068 but the advice for alleviating the issue doesn't in fact alleviate it.