Re: Design Issue: Max Concurrent Streams Limit and Unidirectional Streams

Roberto Peon <grmocg@gmail.com> Fri, 03 May 2013 21:45 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 ACD3821F9079 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 3 May 2013 14:45:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.848
X-Spam-Level:
X-Spam-Status: No, score=-9.848 tagged_above=-999 required=5 tests=[AWL=0.450, BAYES_00=-2.599, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, 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 NrOUCoVBG1UY for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 3 May 2013 14:44:58 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 498FE21F8BDE for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 3 May 2013 14:44:58 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UYNmK-0000AF-2k for ietf-http-wg-dist@listhub.w3.org; Fri, 03 May 2013 21:44:32 +0000
Resent-Date: Fri, 03 May 2013 21:44:32 +0000
Resent-Message-Id: <E1UYNmK-0000AF-2k@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <grmocg@gmail.com>) id 1UYNm9-00009Q-Mc for ietf-http-wg@listhub.w3.org; Fri, 03 May 2013 21:44:21 +0000
Received: from mail-ob0-f179.google.com ([209.85.214.179]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <grmocg@gmail.com>) id 1UYNm8-0003mF-VC for ietf-http-wg@w3.org; Fri, 03 May 2013 21:44:21 +0000
Received: by mail-ob0-f179.google.com with SMTP id xn12so1814084obc.10 for <ietf-http-wg@w3.org>; Fri, 03 May 2013 14:43:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=gujX7ckOmRT+4xsaPAn1IzdWvWhjcpyPR0+f/q1J+gI=; b=ak476hjaDhy8qSa6mG9OO0pEWIuxaEKcG0OnrNqEBhSlm1wChtJzY4WF7qLozoqilS fNY0Bn9KbKIcw+hBHG4LAma4zqrzg3JvZpePSmkuzghAGE5MGbXChhf3ZjFEqAP0p1/v OQrPxdDLsu+aDHs6LVBaxHOXSUS/SFda2pJLLhTG+B6wi7dCooSTdDY53ht0flCQp9f4 kpxdCiKeI3gZGaZkfAy4uAUgyI3ZZK7tTZd0UCHUlEWO/aJU7CPfMIg25kGk1fahEfru aLorSlt0gOFRquNMmPk5kPENPdlyuoVVUnEhS0zXrxl9pV3pCRKGf6IeS61wIoLXVwAe /5MA==
MIME-Version: 1.0
X-Received: by 10.60.141.35 with SMTP id rl3mr3362674oeb.121.1367617434738; Fri, 03 May 2013 14:43:54 -0700 (PDT)
Received: by 10.76.130.139 with HTTP; Fri, 3 May 2013 14:43:54 -0700 (PDT)
In-Reply-To: <CAA4WUYgANXbyre3RbSgMQG60Ve72Rw-+YpPXJEJ-4CXTXq0s4w@mail.gmail.com>
References: <CABP7RbdBe-Xkx+CMvpN=_oNAqm6SyLyL+XNHRUKSqn8mjSDw1Q@mail.gmail.com> <CAA4WUYgCiyWerT0tUUVKcbNPqdTGuXHd_MG59DjcUsEWst5t7g@mail.gmail.com> <CABkgnnVdU=cZ53Bqg5Un=E80NMpcgYO37DVmwUFW0O-i7SNf8w@mail.gmail.com> <CAA4WUYhz64FsEGgGhx91RfWwuPPxWdAkesOV-bmqWVWE7ZxdjA@mail.gmail.com> <CABP7RbcKQkn1o4WZscwNmSmm6YzqE_TKxPr4jnozNdaVqpZ7=A@mail.gmail.com> <CAA4WUYhF6rAZoYEaz4aJO6xawaJxzxGt=Bkg4H9eBOP-LBSRmQ@mail.gmail.com> <CAP+FsNezQzxdZEJY_2_0h_TR2pBbVsGyGBhQhKcm-65pt6S8rQ@mail.gmail.com> <CABP7RbevS8M0q9OxzPncqY_gE34q5-ymdg2hOX2SQgSUNkhzsw@mail.gmail.com> <CAA4WUYjAbuUqz9RdO+-p3a4EsyuS=Gv0rS-U-Vh+ZCjtDjFy6w@mail.gmail.com> <CAP+FsNec2LLZMjtGhSX-1q8qg66WtBoM5K0yMrs5m4VKXb5OVg@mail.gmail.com> <CAA4WUYgAT64jj=Am06MsA02A+eAcDrVbbgb4opO37bnMkWTPfg@mail.gmail.com> <CABP7Rbdgz=kRZPfjHK5UUfieq8uz=ToQZjFt1-+s9scj1CogmA@mail.gmail.com> <CAA4WUYjSjFKSdbj=QBLn0T4ufhzF1hUY=O=Qa2dfnkTzMXF0bg@mail.gmail.com> <CABP7RbejssYWH+nEumVX__+4TnE1ec8e1YXeY8kqWF+AgszTrg@mail.gmail.com> <CAA4WUYiRVxM78Dr+eh9ksVvW_9=S01mHxt_Wr+SyaVECmc0e-g@mail.gmail.com> <CABP7RbexX0T=yYKPeKFeGEnzMAcO7fAifZh6LfLCOngLDNQHUA@mail.gmail.com> <CABkgnnUeicCNUa70GW7Vv9-bbwLPiPM=2-_t28Qz5o6DT0jF8Q@mail.gmail.com> <CABP7RbfbmTqFHPkRvj2K6iZ=Oo7MsT3hD9Y33fmtU9HOLoDmUA@mail.gmail.com> <CAA4WUYj81k1dK-LV+=h-yto4WEpVWFaRnCQZ+h55mipYCnQeYw@mail.gmail.com> <CABkgnnVEy7LPU2sUrKVFTLpEVP4RcWnbdgs1oRvmNFujZGQBOg@mail.gmail.com> <CAA4WUYhznNY_2YBUoMq4Us5NO0r_04Caz9_O1iZUrW4kc3kNcA@mail.gmail.com> <CABP7RbeJ6Fhs-ncpA4cGQ8SQHayamCmUn=xCmcagwBUs6NLyxg@mail.gmail.com> <CAA4WUYgp_b4SZ-OeXyFRiknU0OeWK5bsn-ihiFJqKk26UpHdyQ@mail.gmail.com> <CAP+FsNdfT0du=P7TzE4pPPgzaCi2YR-jpeE1US0inm46n9Z5pQ@mail.gmail.com> <CAA4WUYgANXbyre3RbSgMQG60Ve72Rw-+YpPXJEJ-4CXTXq0s4w@mail.gmail.com>
Date: Fri, 03 May 2013 14:43:54 -0700
Message-ID: <CAP+FsNdjh8HVYbAT3w2OP_AsYhEs1x91i79wT3CnUkbMbV8LHw@mail.gmail.com>
From: Roberto Peon <grmocg@gmail.com>
To: "William Chan (陈智昌)" <willchan@chromium.org>
Cc: James M Snell <jasnell@gmail.com>, Martin Thomson <martin.thomson@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="047d7b339dbb62e71204dbd73f87"
Received-SPF: pass client-ip=209.85.214.179; envelope-from=grmocg@gmail.com; helo=mail-ob0-f179.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.661, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UYNm8-0003mF-VC e9c09dbf0fbb242363c66228730d6094
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Design Issue: Max Concurrent Streams Limit and Unidirectional Streams
Archived-At: <http://www.w3.org/mid/CAP+FsNdjh8HVYbAT3w2OP_AsYhEs1x91i79wT3CnUkbMbV8LHw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17822
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>

responses inline


On Fri, May 3, 2013 at 2:35 PM, William Chan (陈智昌) <willchan@chromium.org>wrote:

> On Fri, May 3, 2013 at 6:20 PM, Roberto Peon <grmocg@gmail.com> wrote:
>
>> The biggest rub in Martin's suggestion is that, as a stream initiator, I
>> no longer know for how long I should keep the original "request" headers
>> around.
>> I view that as an annoying problem (I want every response to be
>> attributable to a request).
>>
>
> I spent time thinking about whether or not this was a problem. I certainly
> found it annoying, but it might be change aversion from SPDY. My mental
> reduction of this suggestion was the coupling of directions of the stream
> was moving out of the streaming layer to the application semantics layer.
> At the HTTP semantic layer, where you want a response for every request,
> the client can open a client=>server direction stream at the streaming
> layer and register a callback for the server=>client direction stream at
> the streaming layer. The client keeps the original request headers as long
> as it's expecting the response stream.
>
> I think there's a certain aesthetic layering cleanliness to Martin's
> suggestion in this way by moving the coupling out from a lower layer to a
> higher layer. I am still mulling it over. I also haven't thought through
> the server case, so I might have missed how this is annoying for them.
>

No argument there. Except for the issue with the lifetime of headers, it is
a very pretty design (the only thing you end up having to change is the
strict requirement on stream ID mentions being in monotonic order, which
we're loosening anyway for push). As a matter of fact this was one of the
ways we had discussed for SPDY/1 :)

In general any server/proxy/loadbalancer will wish to keep headers about
for the shortest time period possible as they typically represent either
the largest or a very large chunk of the state the server keeps resident.
It is possible to do fancy/complicated things to reduce this burden.. but
they're fancy/complicated :)

-=R