Re: WGLC p1: Tear-down

"Adrien W. de Croy" <> Tue, 30 April 2013 02:53 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id F309F21F9BF7 for <>; Mon, 29 Apr 2013 19:53:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 1fllzjS5yInE for <>; Mon, 29 Apr 2013 19:53:51 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id E76E621F9B84 for <>; Mon, 29 Apr 2013 19:53:41 -0700 (PDT)
Received: from lists by with local (Exim 4.72) (envelope-from <>) id 1UX0h3-0008FS-NX for; Tue, 30 Apr 2013 02:53:25 +0000
Resent-Date: Tue, 30 Apr 2013 02:53:25 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtp (Exim 4.72) (envelope-from <>) id 1UX0gv-0008Ej-8o for; Tue, 30 Apr 2013 02:53:17 +0000
Received: from ([]) by with esmtp (Exim 4.72) (envelope-from <>) id 1UX0gu-0003O0-82 for; Tue, 30 Apr 2013 02:53:17 +0000
Received: From [] (unverified []) by SMTP Server [] (WinGate SMTP Receiver v8.0.0 (Build 4545)) with SMTP id <>; Tue, 30 Apr 2013 14:52:49 +1200
From: "Adrien W. de Croy" <>
To: Mark Nottingham <>
Cc: Zhong Yu <>, Ben Niven-Jenkins <>, HTTP Working Group <>
Date: Tue, 30 Apr 2013 02:52:49 +0000
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; format="flowed"; charset="utf-8"
In-Reply-To: <>
Message-Id: <em8250d35a-13c2-4842-a118-d69ff0da24b1@bombed>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <>
User-Agent: eM_Client/5.0.17595.0
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-5.6
X-W3C-Hub-Spam-Report: AWL=-1.253, BAYES_00=-1.9, RP_MATCHES_RCVD=-2.442, SPF_PASS=-0.001
X-W3C-Scan-Sig: 1UX0gu-0003O0-82 ddb76f58532a56a64994ca7c241d516a
Subject: Re: WGLC p1: Tear-down
Archived-At: <>
X-Mailing-List: <> archive/latest/17706
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

------ Original Message ------
From: "Mark Nottingham" <>
>On 30/04/2013, at 12:38 PM, Adrien W. de Croy <> wrote:
>>  ------ Original Message ------
>>  From: "Zhong Yu" <>
>>>  On Mon, Apr 29, 2013 at 2:33 PM, Ben Niven-Jenkins 
>>><> wrote:
>>>  Section 6.6 of p1 states:
>>>  OLD:
>>>     the client SHOULD assume that they will not be processed by the 
>>>  NEW:
>>>     the client SHOULD NOT assume that they will be processed by the 
>>>  Agreed; an origin server may also process pipelined requests 
>>>concurrently, so request#2 may have been processed when response#1 
>>>causes Connection:close.
>>  Given that it's really hard for a client to predict the future, as to 
>>whether a pipelined request will be processed or not, or whether a 
>>previous resource will return Connection: close or not, and even to 
>>tell whether a request will be truly without side-effects, doesn't 
>>this mean it's just basically dangerous to pipeline full stop?
>>  Do we need a way for a server to communicate which requests may be 
>>made with impunity multiple times, and which should only be made once? 
>>e.g. safe to retry or not. then only pipeline requests that are safe 
>>to retry according to the server (rather than according to some 
>>assumption or heuristic at the client, as such things are inevitably 
>>wrong on occasion).
>That's built into the method of the request...
that's what I meant by assume.

UA authors might assume GET is idempotent.  It doesn't stop web 
developers from writing sites that have significant side-effects on GET. 
  Getting these people to indicate safety of retrying is another problem. 
  I guess this is one reason why pipelining isn't that widespread yet.  
Lots of problems with it.



>>  A user agent should not pipeline requests after a non-idempotent 
>>method until the final response status code for that method has been 
>>received, unless the user agent has a means to detect and recover from 
>>partial failure conditions involving the pipelined sequence.
>Mark Nottingham