Re: #467: Expect: 100-continue and "final" status codes

Ken Murchison <murch@andrew.cmu.edu> Fri, 17 May 2013 11:31 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 CAB5821F93E0 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 17 May 2013 04:31:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.392
X-Spam-Level:
X-Spam-Status: No, score=-7.392 tagged_above=-999 required=5 tests=[AWL=3.207, 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 i1n3IXjgU7yj for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 17 May 2013 04:31:06 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 313AB21F92FC for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 17 May 2013 04:31:05 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UdIr2-0007S6-QT for ietf-http-wg-dist@listhub.w3.org; Fri, 17 May 2013 11:29:44 +0000
Resent-Date: Fri, 17 May 2013 11:29:44 +0000
Resent-Message-Id: <E1UdIr2-0007S6-QT@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <murch@andrew.cmu.edu>) id 1UdIql-0007QX-FW for ietf-http-wg@listhub.w3.org; Fri, 17 May 2013 11:29:27 +0000
Received: from smtp.andrew.cmu.edu ([128.2.11.96]) by maggie.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <murch@andrew.cmu.edu>) id 1UdIqh-000631-1y for ietf-http-wg@w3.org; Fri, 17 May 2013 11:29:27 +0000
Received: from localhost.localdomain (cpe-76-180-197-142.buffalo.res.rr.com [76.180.197.142]) (user=murch mech=PLAIN (0 bits)) by smtp.andrew.cmu.edu (8.14.4/8.14.4) with ESMTP id r4HBSXhq006314 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 17 May 2013 07:28:34 -0400
Message-ID: <51961461.2080800@andrew.cmu.edu>
Date: Fri, 17 May 2013 07:28:33 -0400
From: Ken Murchison <murch@andrew.cmu.edu>
Organization: Carnegie Mellon University
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130402 Thunderbird/17.0.5
MIME-Version: 1.0
To: Mark Nottingham <mnot@mnot.net>
CC: Willy Tarreau <w@1wt.eu>, ietf-http-wg@w3.org
References: <CACuKZqGmrDiNQvG0SVw=XXcy_n-BBxK-pnp+ar7uAbnwkumRag@mail.gmail.com> <51780FBA.3080706@andrew.cmu.edu> <20130424170638.GD19750@1wt.eu> <1CD0C86A-CFBF-4DF6-A688-9E4EF549190E@mnot.net>
In-Reply-To: <1CD0C86A-CFBF-4DF6-A688-9E4EF549190E@mnot.net>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-PMX-Version: 5.5.9.388399, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2010.4.9.4220
X-SMTP-Spam-Clean: 8% ( SUPERLONG_LINE 0.05, BODY_SIZE_1200_1299 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, RDNS_GENERIC_POOLED 0, RDNS_POOLED 0, RDNS_RESIDENTIAL 0, RDNS_SUSP 0, RDNS_SUSP_GENERIC 0, RDNS_SUSP_SPECIFIC 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MOZILLA_MSGID 0, __RDNS_POOLED_2 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __USER_AGENT 0)
X-SMTP-Spam-Score: 8%
X-Scanned-By: MIMEDefang 2.60 on 128.2.11.96
Received-SPF: none client-ip=128.2.11.96; envelope-from=murch@andrew.cmu.edu; helo=smtp.andrew.cmu.edu
X-W3C-Hub-Spam-Status: No, score=-2.9
X-W3C-Hub-Spam-Report: RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.629
X-W3C-Scan-Sig: maggie.w3.org 1UdIqh-000631-1y 4a6c9c8a4ff743a16f5099b7c4595fb8
X-Original-To: ietf-http-wg@w3.org
Subject: Re: #467: Expect: 100-continue and "final" status codes
Archived-At: <http://www.w3.org/mid/51961461.2080800@andrew.cmu.edu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18024
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 05/16/2013 10:47 PM, Mark Nottingham wrote:
> Note that this mechanism does not change the request message parsing algorithm; in particular, whether or not a final response status code is sent, the client still needs to send a complete request message. As such, if a final status code is received, clients will often choose to close the connection, rather than send a complete request (e.g., if it is length-delimited).
> """


This is an important point that I completely missed from any reading of 
2616 and the current httpbis.  I assumed that if the server responded 
with a final status code before sending 100-continue, that the client 
would not send the body.

If I read your proposed text properly, the only way for a client to 
avoid sending the body of a failed conditional request while maintaining 
a persistent connection is to send the request using e/c and te/chunked, 
and just send a zero-length chunk after receiving the final response 
code.  Correct?

Having the ability to not send a large body if its going to be rejected 
seems like a useful feature to me, but maybe its not actually 
implemented in the wild.

-- 
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University