Re: MAX_CONCURRENT_STREAMS=0 and PUSH_PROMISE

James M Snell <jasnell@gmail.com> Tue, 23 July 2013 16:47 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 1AB6A11E82DB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 23 Jul 2013 09:47:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[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 OE-14JH-Amzi for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 23 Jul 2013 09:47:42 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 4D37411E82CE for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 23 Jul 2013 09:47:39 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1V1fjn-0003cS-5k for ietf-http-wg-dist@listhub.w3.org; Tue, 23 Jul 2013 16:46:59 +0000
Resent-Date: Tue, 23 Jul 2013 16:46:59 +0000
Resent-Message-Id: <E1V1fjn-0003cS-5k@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1V1fje-0003bi-QD for ietf-http-wg@listhub.w3.org; Tue, 23 Jul 2013 16:46:50 +0000
Received: from mail-ob0-f170.google.com ([209.85.214.170]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1V1fjd-0000RF-Mm for ietf-http-wg@w3.org; Tue, 23 Jul 2013 16:46:50 +0000
Received: by mail-ob0-f170.google.com with SMTP id ef5so10759944obb.15 for <ietf-http-wg@w3.org>; Tue, 23 Jul 2013 09:46:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=GhECE0VgSZroOImbWZLbSkvRRs12wIyO3nPGSbjSv3w=; b=mM+HRR/55ZrMKxojo08CZlRP7It6WLPMNcVQZ6Iz0prWyaBNiDMrry1YYuLHg3R+XK neORyemU7V6mDUJ3izZu2dqA05GHdgFkplMHRNkRZEjz8gcgO8J8WIWgc1DwnBtmiN7U +Z4YLEhwUFMg1Y0QxHNoEs2GFDrYu8/t7M+OjGCTUjemvuds9tgCh0bB2Yw0xi3zkvBp Ch1/5TfBtr2zz5WymSTJGbK0KyfypVCMc/C3nPAI/ULQCyLHpzYigh7tX1uhHGlCCkwi pjPDsOCln71FATMjiL/rNDLceKfOkqHUjs6K/HZh69IR3Ba6QYT5wIOslaWub0OzWvgB zUlQ==
X-Received: by 10.60.62.238 with SMTP id b14mr31636831oes.90.1374597983814; Tue, 23 Jul 2013 09:46:23 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.60.55.8 with HTTP; Tue, 23 Jul 2013 09:46:03 -0700 (PDT)
In-Reply-To: <CABkgnnURpBaQYSeCTPHyMRbeqEU-=EPuXP2L_Z087o5LY8cxTg@mail.gmail.com>
References: <CA+KJw_5PcUxBiUnQ00=G2C4Q6MnaB=hpNDk+9eTeZMs3Lz-CpA@mail.gmail.com> <CABkgnnURpBaQYSeCTPHyMRbeqEU-=EPuXP2L_Z087o5LY8cxTg@mail.gmail.com>
From: James M Snell <jasnell@gmail.com>
Date: Tue, 23 Jul 2013 09:46:03 -0700
Message-ID: <CABP7RbcNUmUWGXC6xmbMWTKX4Lcz3wPvwMX5hr-wAXA8PRCJbA@mail.gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Cc: Gábor Molnár <gabor.molnar@sch.bme.hu>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=209.85.214.170; envelope-from=jasnell@gmail.com; helo=mail-ob0-f170.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.703, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1V1fjd-0000RF-Mm 8844a7d9eb9db9265f828c649864dcd4
X-Original-To: ietf-http-wg@w3.org
Subject: Re: MAX_CONCURRENT_STREAMS=0 and PUSH_PROMISE
Archived-At: <http://www.w3.org/mid/CABP7RbcNUmUWGXC6xmbMWTKX4Lcz3wPvwMX5hr-wAXA8PRCJbA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18876
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>

+1 to tightening this up... that is: If
SETTINGS_MAX_CONCURRENT_STREAMS = 0, Servers MUST NOT send
PUSH_PROMISE

On Tue, Jul 23, 2013 at 9:22 AM, Martin Thomson
<martin.thomson@gmail.com> wrote:
> On 23 July 2013 07:28, Gábor Molnár <gabor.molnar@sch.bme.hu> wrote:
>>
>> This goes against the design rationale, since clients will still have to be
>> able to deal with PUSH_PROMISEs if they want to comply to the standard.
>>
>> What is the rationale behind not counting reserved streams as active? They
>> usually become active very soon so it would make sense to count them as
>> active as well. This would also prohibit servers promising streams when
>> SETTINGS_MAX_CONCURRENT_STREAMS is 0.
>
> The section on push makes the following note:
>
> A client can use the SETTINGS_MAX_CONCURRENT_STREAMS setting to limit
> the number of resources that can be concurrently pushed by a server.
> Advertising a SETTINGS_MAX_CONCURRENT_STREAMS value of zero disables
> server push by preventing the server from creating the necessary
> streams.
>
> Maybe this needs to be more explicit, as in:
>
> Servers MUST NOT push or promise to push if a client advertises a
> value of 0 for SETTINGS_MAX_CONCURRENT_STREAMS.
>
> The rationale for permitting reservation without consuming streams is
> to allow a server to push more resources than the concurrent stream
> limit would allow.  There are cases where a single page pulls in that
> many resources (e.g., image search pages).  Because the associated
> stream must remain open until all pushes are complete, the alternative
> would be to artificially extend the lifetime of the associated stream,
> which compounds complexity.
>
> I know that we briefly discussed having a MAX_PUSH or MAX_RESERVED
> setting, but we still don't really have a lot of good information
> about what this would mean.
>