Re: WGLC: p1 MUST NOT pipeline until connection is persistent
Alex Rousskov <rousskov@measurement-factory.com> Tue, 30 April 2013 23:23 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 [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 45A8921F8415 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 30 Apr 2013 16:23:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.499
X-Spam-Level:
X-Spam-Status: No, score=-10.499 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WbkOhz147Voc for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 30 Apr 2013 16:23:38 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id C5A9521F8411 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 30 Apr 2013 16:23:38 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UXJtI-0002tW-UC for ietf-http-wg-dist@listhub.w3.org; Tue, 30 Apr 2013 23:23:20 +0000
Resent-Date: Tue, 30 Apr 2013 23:23:20 +0000
Resent-Message-Id: <E1UXJtI-0002tW-UC@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <rousskov@measurement-factory.com>) id 1UXJt8-0002rs-Lk for ietf-http-wg@listhub.w3.org; Tue, 30 Apr 2013 23:23:10 +0000
Received: from measurement-factory.com ([209.169.10.130]) by lisa.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <rousskov@measurement-factory.com>) id 1UXJt8-00075i-4M for ietf-http-wg@w3.org; Tue, 30 Apr 2013 23:23:10 +0000
Received: from [127.0.0.1] (localhost [127.0.0.1]) (authenticated bits=0) by measurement-factory.com (8.14.3/8.14.3) with ESMTP id r3UNMlPu044646 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for <ietf-http-wg@w3.org>; Tue, 30 Apr 2013 17:22:48 -0600 (MDT) (envelope-from rousskov@measurement-factory.com)
Message-ID: <5180523F.8020103@measurement-factory.com>
Date: Tue, 30 Apr 2013 17:22:39 -0600
From: Alex Rousskov <rousskov@measurement-factory.com>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130329 Thunderbird/17.0.5
MIME-Version: 1.0
To: IETF HTTP WG <ietf-http-wg@w3.org>
References: <D69329FD-7456-46C5-BE24-6E7EE7E48C39@mnot.net> <5180137E.2040603@measurement-factory.com> <20130430194016.GM22605@1wt.eu>
In-Reply-To: <20130430194016.GM22605@1wt.eu>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=209.169.10.130; envelope-from=rousskov@measurement-factory.com; helo=measurement-factory.com
X-W3C-Hub-Spam-Status: No, score=-2.5
X-W3C-Hub-Spam-Report: RP_MATCHES_RCVD=-2.509, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1UXJt8-00075i-4M 57f2288785b5f7af7e18d60443a426a6
X-Original-To: ietf-http-wg@w3.org
Subject: Re: WGLC: p1 MUST NOT pipeline until connection is persistent
Archived-At: <http://www.w3.org/mid/5180523F.8020103@measurement-factory.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17737
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 04/30/2013 01:40 PM, Willy Tarreau wrote: >>> A client [...] MUST NOT pipeline on a retry connection until it >>> knows the connection is persistent. >> Is it really possible to know that a connection _is_ persistent? > Well, it's by definition until a "connection: close" response is seen. You are right. My complains about not being able to know whether a connection is persistent were invalid because the rules in "p1 6.3 Persistence" determine whether the connection is considered persistent. However, there are two related problems with those rules: a) They do not apply to connections on which no responses have been received. b) They do not mention that a persistent connection may close without warning at any time. Let's start with (a): To know that a connection "is persistent", the client has to receive a response on that connection. This implies that the client MUST NOT retry a failed pipelined request on a connection it just opened. What if there are no other connections and not other requests to send, except for the failed one? Is the proxy going to be stuck because it is not allowed to use a new connection to retry the failed pipeline request? To fix this, I think we have to add a rule that declares a freshly opened, unused connection "persistent" OR allow retries on such connections without declaring them persistent. As for (b), depending on the intent of this MIST NOT, it may be useful to discourage developers from using connections that were idle for a long time for retries because those connections are more likely to fail when [re]used. Thank you, Alex.
- Working Group Last Call on the HTTPbis document s… Mark Nottingham
- Re: Working Group Last Call on the HTTPbis docume… Julian Reschke
- WGLC: p1 MUSTs Alex Rousskov
- Re: WGLC: p1 MUSTs Willy Tarreau
- Re: WGLC: p1 MUSTs Alex Rousskov
- Re: WGLC: p1 MUSTs Willy Tarreau
- Re: WGLC: p1 MUST NOT pipeline until connection i… Alex Rousskov
- Re: WGLC: p1 MUST NOT pipeline until connection i… Willy Tarreau
- Re: WGLC: p1 MUST NOT pipeline until connection i… Alex Rousskov
- Re: WGLC: p1 MUST NOT pipeline until connection i… Willy Tarreau
- Re: WGLC: p1 MUST NOT pipeline until connection i… Alex Rousskov
- Re: WGLC: p1 MUST NOT pipeline until connection i… Willy Tarreau
- Re: WGLC: p1 MUST NOT pipeline until connection i… Alex Rousskov
- Re: WGLC: p1 MUSTs Mark Nottingham
- Re: WGLC: p1 MUSTs Roy T. Fielding
- Re: WGLC: p1 MUSTs Alex Rousskov
- Re: WGLC: p1 MUSTs Roy T. Fielding
- Re: WGLC: p1 MUSTs Roy T. Fielding
- WGLC: p2 MUSTs Alex Rousskov
- Re: WGLC: p2 MUSTs Roy T. Fielding
- Re: WGLC: p2 MUSTs Amos Jeffries
- WGLC: p4 MUSTs Alex Rousskov
- Re: WGLC: p4 MUSTs Roy T. Fielding
- WGLC: p5 MUSTs Alex Rousskov
- Re: WGLC: p5 MUSTs Ken Murchison
- Re: WGLC: p5 MUSTs Alex Rousskov
- Re: WGLC: p5 MUSTs Mark Nottingham
- WGLC: p6 MUSTs Alex Rousskov
- WGLC: p7 MUSTs Alex Rousskov
- Re: WGLC: p7 MUSTs Mark Nottingham
- #481, was: WGLC: p7 MUSTs Julian Reschke
- Re: #481, was: WGLC: p7 MUSTs Alex Rousskov
- Re: #481, was: WGLC: p7 MUSTs Julian Reschke
- Re: #481, was: WGLC: p7 MUSTs Alex Rousskov
- Re: #481, was: WGLC: p7 MUSTs Julian Reschke
- Re: #481, was: WGLC: p7 MUSTs Julian Reschke
- WGLC p1: MUST fix Content-Length? Alex Rousskov
- Re: WGLC p1: MUST fix Content-Length? Willy Tarreau
- Re: WGLC p1: MUST fix Content-Length? Alex Rousskov
- Re: WGLC p1: MUST fix Content-Length? Willy Tarreau
- Re: WGLC p1: MUST fix Content-Length? Alex Rousskov
- Re: WGLC p1: MUST fix Content-Length? Mark Nottingham
- #483, was: WGLC p1: MUST fix Content-Length? Julian Reschke