Re: p2: Expect: 100-continue and "final" status codes
Willy Tarreau <w@1wt.eu> Wed, 24 April 2013 17:48 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 28E7721F9080 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 24 Apr 2013 10:48:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.265
X-Spam-Level:
X-Spam-Status: No, score=-10.265 tagged_above=-999 required=5 tests=[AWL=0.334, 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 R2rTKMZQ-dQS for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 24 Apr 2013 10:48:55 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 7B6F121F8FA4 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 24 Apr 2013 10:48:55 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UV3nL-0001S3-AY for ietf-http-wg-dist@listhub.w3.org; Wed, 24 Apr 2013 17:47:51 +0000
Resent-Date: Wed, 24 Apr 2013 17:47:51 +0000
Resent-Message-Id: <E1UV3nL-0001S3-AY@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <w@1wt.eu>) id 1UV3nH-0001RK-Ac for ietf-http-wg@listhub.w3.org; Wed, 24 Apr 2013 17:47:47 +0000
Received: from 1wt.eu ([62.212.114.60]) by maggie.w3.org with esmtp (Exim 4.72) (envelope-from <w@1wt.eu>) id 1UV3n9-0008V0-S0 for ietf-http-wg@w3.org; Wed, 24 Apr 2013 17:47:47 +0000
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id r3OHlGqE022730; Wed, 24 Apr 2013 19:47:16 +0200
Date: Wed, 24 Apr 2013 19:47:16 +0200
From: Willy Tarreau <w@1wt.eu>
To: Ken Murchison <murch@andrew.cmu.edu>
Cc: ietf-http-wg@w3.org
Message-ID: <20130424174716.GF19750@1wt.eu>
References: <20130424170638.GD19750@1wt.eu> <201304241734.r3OHYpEE032112@smtp.andrew.cmu.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <201304241734.r3OHYpEE032112@smtp.andrew.cmu.edu>
User-Agent: Mutt/1.4.2.3i
Received-SPF: pass client-ip=62.212.114.60; envelope-from=w@1wt.eu; helo=1wt.eu
X-W3C-Hub-Spam-Status: No, score=-3.1
X-W3C-Hub-Spam-Report: AWL=-3.059, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UV3n9-0008V0-S0 79666be2e2d783307c7985cfb217bae2
X-Original-To: ietf-http-wg@w3.org
Subject: Re: p2: Expect: 100-continue and "final" status codes
Archived-At: <http://www.w3.org/mid/20130424174716.GF19750@1wt.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17547
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 Wed, Apr 24, 2013 at 01:34:51PM -0400, Ken Murchison wrote: > > On Wed, 24 Apr 2013 13:06:38 -0400, Willy Tarreau wrote: > > On Wed, Apr 24, 2013 at 01:00:42PM -0400, Ken Murchison wrote: > > > >2. If the client receives a final status code instead of 100 > > > >(Continue), it > > > >should stop sending request body if it is doing so; it must close the > > > >connection after the response is received. > > > > > > I don't understand point #2. If the client submits a request with > > > Expect:100-continue, I would assume that the client MUST NOT send any > > > part of the body until it receives 100 (Continue) from the server. If > > > the server rejects the request based on the headers (with 412, 415, 417, > > > etc) there should be no body data in the pipe for either the client or > > > server to worry about, correct? > > > > In fact the client can decide that it's been waiting too long for 100 > > and decides to send anyway (because some old servers or intermediaries > > do not know about Expect and will wait). > > > > So what is generally done is that the client sends the headers, waits a > > bit then starts to send data if the server does not respond. > > Fair enough. But I would expect that a compliant 1.1 server would respond > with 100 (Continue) or failure pretty quickly -- well within the client's > "wait" interval. Given that RFC 2616 is over a decade old, I would like > to think that any 1.1 implementation would be compliant with the Expect > behavior or should be deprecated. > > Unless we are worried about Expect:100-continue being sent to a 1.0 server, > allowing a client to start sending a body in the absence of 100 (Continue) > seems like a bad idea to me. But if this behavior IS needed a client should > at least wait several seconds or something longer than the expected roundtrip > time. > > Am I way off base here? I'm not privy to all of the history of HTTP. I only > started developing our CalDAV server a couple of years ago. No you're perfectly right, but you forgot about the messy case where the 1.1 client sends via a 1.0 gateway to an 1.1 server and the 1.0 gateway needs to validate the contents before passing the request :-) Willy
- p2: Expect: 100-continue and "final" status codes Mark Nottingham
- Re: p2: Expect: 100-continue and "final" status c… Zhong Yu
- Re: p2: Expect: 100-continue and "final" status c… Ken Murchison
- Re: p2: Expect: 100-continue and "final" status c… James M Snell
- Re: p2: Expect: 100-continue and "final" status c… Mark Nottingham
- Re: p2: Expect: 100-continue and "final" status c… Amos Jeffries
- Re: p2: Expect: 100-continue and "final" status c… Mark Nottingham
- Re: p2: Expect: 100-continue and "final" status c… Adrien W. de Croy
- Re: p2: Expect: 100-continue and "final" status c… Amos Jeffries
- Re: p2: Expect: 100-continue and "final" status c… Willy Tarreau
- Re: p2: Expect: 100-continue and "final" status c… Willy Tarreau
- Re: p2: Expect: 100-continue and "final" status c… Adrien W. de Croy
- Re: p2: Expect: 100-continue and "final" status c… Adrien W. de Croy
- Re: p2: Expect: 100-continue and "final" status c… Amos Jeffries
- Re: p2: Expect: 100-continue and "final" status c… Zhong Yu
- Re: p2: Expect: 100-continue and "final" status c… Ken Murchison
- Re: p2: Expect: 100-continue and "final" status c… Willy Tarreau
- Re: p2: Expect: 100-continue and "final" status c… Ken Murchison
- Re: p2: Expect: 100-continue and "final" status c… Willy Tarreau
- Re: p2: Expect: 100-continue and "final" status c… Daniel Stenberg
- Re: p2: Expect: 100-continue and "final" status c… Ken Murchison
- #467: Expect: 100-continue and "final" status cod… Mark Nottingham
- Re: #467: Expect: 100-continue and "final" status… Mark Nottingham
- Re: #467: Expect: 100-continue and "final" status… Willy Tarreau
- Re: #467: Expect: 100-continue and "final" status… Ken Murchison
- Re: #467: Expect: 100-continue and "final" status… Zhong Yu
- Re: #467: Expect: 100-continue and "final" status… Alex Rousskov
- Re: #467: Expect: 100-continue and "final" status… Mark Nottingham
- Re: #467: Expect: 100-continue and "final" status… Mark Nottingham
- Re: #467: Expect: 100-continue and "final" status… Willy Tarreau
- Re: #467: Expect: 100-continue and "final" status… Zhong Yu
- Re: #467: Expect: 100-continue and "final" status… Michael Sweet
- Re: Expect: 100-continue and "final" status codes Peter Occil
- Re: #467: Expect: 100-continue and "final" status… Willy Tarreau
- Re: #467: Expect: 100-continue and "final" status… Mark Nottingham