Re: Pipelining in HTTP 1.1

David Morris <dwm@xpasc.com> Mon, 30 March 2009 22:04 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@core3.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C96E53A6A9C for <ietfarch-httpbisa-archive-bis2Juki@core3.amsl.com>; Mon, 30 Mar 2009 15:04:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.953
X-Spam-Level:
X-Spam-Status: No, score=-5.953 tagged_above=-999 required=5 tests=[AWL=4.646, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sPm2SwjhT3Y9 for <ietfarch-httpbisa-archive-bis2Juki@core3.amsl.com>; Mon, 30 Mar 2009 15:04:51 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by core3.amsl.com (Postfix) with ESMTP id E31093A6824 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 30 Mar 2009 15:04:50 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.63) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1LoPbo-0006yc-1x for ietf-http-wg-dist@listhub.w3.org; Mon, 30 Mar 2009 22:05:32 +0000
Received: from maggie.w3.org ([193.51.208.68]) by frink.w3.org with esmtp (Exim 4.63) (envelope-from <dwm@xpasc.com>) id 1LoPbg-0006xR-Pu for ietf-http-wg@listhub.w3.org; Mon, 30 Mar 2009 22:05:25 +0000
Received: from mail.xpasc.com ([68.164.244.189]) by maggie.w3.org with esmtp (Exim 4.63) (envelope-from <dwm@xpasc.com>) id 1LoPbX-0006HQ-EO for ietf-http-wg@w3.org; Mon, 30 Mar 2009 22:05:24 +0000
Received: from bslepgate.xpasc.com (localhost.localdomain [127.0.0.1]) by bslepgate.xpasc.com (Postfix-out) with ESMTP id 39342101835 for <ietf-http-wg@w3.org>; Mon, 30 Mar 2009 15:04:44 -0700 (PDT)
X-Propel-Return-Path: <dwm@xpasc.com>
Received: from mail.xpasc.com ([10.1.2.88]) by [127.0.0.1] ([127.0.0.1]) (port 7027) (Abaca EPG outproxy filter 3.1.1.9347 $Rev: 9262 $) id iz6Ur93um4H0; Mon, 30 Mar 2009 15:04:44 -0700
Received: from xpasc.com (egate.xpasc.com [10.1.2.49]) by bslepgate.xpasc.com (Postfix-out) with ESMTP id C4EAE101834 for <ietf-http-wg@w3.org>; Mon, 30 Mar 2009 15:04:43 -0700 (PDT)
Received: from egate.xpasc.com (egate.xpasc.com [10.1.2.49]) by xpasc.com (8.13.8/8.13.8) with ESMTP id n2UM4gY7010946 for <ietf-http-wg@w3.org>; Mon, 30 Mar 2009 15:04:42 -0700
Date: Mon, 30 Mar 2009 15:04:42 -0700
From: David Morris <dwm@xpasc.com>
cc: ietf-http-wg@w3.org
In-Reply-To: <C14B21C3CFBE6F4C81665B29F9880D3E0758A2D9@xmb-rtp-214.amer.cisco.com>
Message-ID: <Pine.LNX.4.64.0903301454130.10013@egate.xpasc.com>
References: <C14B21C3CFBE6F4C81665B29F9880D3E0758A2D9@xmb-rtp-214.amer.cisco.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"; format="flowed"
X-Propel-ID: iz6Ur93um4H0
Received-SPF: none
X-SPF-Guess: pass
X-W3C-Hub-Spam-Status: No, score=-1.3
X-W3C-Hub-Spam-Report: BAYES_00=-2.599, MISSING_HEADERS=1.292
X-W3C-Scan-Sig: maggie.w3.org 1LoPbX-0006HQ-EO caa20a57ec5c80027115a9666d759454
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Pipelining in HTTP 1.1
Archived-At: <http://www.w3.org/mid/Pine.LNX.4.64.0903301454130.10013@egate.xpasc.com>
To: ietf-http-wg@w3.org
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/6064
X-Loop: ietf-http-wg@w3.org
Sender: ietf-http-wg-request@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-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Resent-Message-Id: <E1LoPbo-0006yc-1x@frink.w3.org>
Resent-Date: Mon, 30 Mar 2009 22:05:32 +0000

Use caution for anything which might re-order processing of transactions 
which are not idempotent. Pipelining includes some rules regarding
waiting for responses in those cases. I think you are attempting to mix 
apples and oranges and are going to confuse the reader. If I understand 
SCTP correctly, each SCTP stream is equivalent to a unique TCP connection
in terms of packet flow management. So your different streams  is 
equivalent to multiple connections under classic HTTP/TCP. That being the 
case, HTTP pipelining rules and discussion applies to each individual SCTP
stream and anything below that layer shouldn't be considered by HTTP.

Pipelining retains the order of requests within a TCP connection. Again 
per my understanding SCTP retains the order within the SCTP stream but
not between streams so to compare behavior at the SCTP transport level
with behavior at the TCP connection level makes no sense to me.

David Morris

On Mon, 30 Mar 2009, Preethi Natarajan (prenatar) wrote:

> Hello folks,
>
> I would like your comments on the following. This is w.r.t. HTTP over
> SCTP (draft-natarajan-http-over-sctp-01) and I am trying to comprehend
> "pipelining" in the context of HTTP 1.1.
>
>> From Section 8.1.2.2 of RFC2616:
>
> "A client that supports persistent connections MAY "pipeline" its
> requests (i.e., send multiple requests without waiting for each
> response). A server MUST send its responses to those requests in the
> same order that the requests were received."
>
> We (SCTP folks) assume that "persistent connection" in this section
> refers to a persistent _transport_connection. When multiple HTTP
> requests and responses are sent back-to-back on a persistent transport
> connection, the HTTP transactions are pipelined.
>
> In our HTTP over SCTP streams design, we recommend transmitting HTTP
> requests/responses over different SCTP streams, but note that these
> reqeusts/responses are transmitted back-to-back within an SCTP transport
> connection. I.e., the HTTP transactions are pipelined across multiple
> streams of an SCTP transport connection but are not pipelined within an
> SCTP stream. I am tempted to say that this design still confirms to the
> "pipelining" definition as per RFC2616.
>
> Thoughts?
> Preethi
>
>
>
>