Re: MAX_CONCURRENT_STREAMS=0 and PUSH_PROMISE

Martin Thomson <martin.thomson@gmail.com> Tue, 23 July 2013 16:24 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 7DBE011E82DF for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 23 Jul 2013 09:24:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.449
X-Spam-Level:
X-Spam-Status: No, score=-6.449 tagged_above=-999 required=5 tests=[AWL=3.849, BAYES_00=-2.599, 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 6EwUDb8WZ63H for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 23 Jul 2013 09:24:26 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 99C7E11E82E4 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 23 Jul 2013 09:24:18 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1V1fMg-0002sJ-Hd for ietf-http-wg-dist@listhub.w3.org; Tue, 23 Jul 2013 16:23:06 +0000
Resent-Date: Tue, 23 Jul 2013 16:23:06 +0000
Resent-Message-Id: <E1V1fMg-0002sJ-Hd@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <martin.thomson@gmail.com>) id 1V1fMY-0002qs-66 for ietf-http-wg@listhub.w3.org; Tue, 23 Jul 2013 16:22:58 +0000
Received: from mail-we0-f176.google.com ([74.125.82.176]) by lisa.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <martin.thomson@gmail.com>) id 1V1fMX-0005Pe-3k for ietf-http-wg@w3.org; Tue, 23 Jul 2013 16:22:58 +0000
Received: by mail-we0-f176.google.com with SMTP id q56so1112679wes.35 for <ietf-http-wg@w3.org>; Tue, 23 Jul 2013 09:22:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=3XayvT0gSTIPhH2Z+uZkr66rdMhYo9DocPwzvTZDo1w=; b=h9vCpERkt3CaMSv48zuVrDsP6Fe45EAlbnC9x3aPLUTwvBs2t2tIJHWwHJN5Hzg1we cJNqg8yA5fccn03rJTm2bfNe71kQa/0pmIci/X8a8hpP0aXHPli4VtNwF15yLWyKZ6S/ t9fLAi9TlWYAcbFQ2yUHa9VdVrMTTkzcJ88CWZASZhgDU29kVDQ576ad7EOE/nZtYGtc usJgRW/4O1T3rZsPhMVJs//UUfsF4ColUgwJJCUokA4uNVG/+6deJ1L1+3G1po+N1Jb9 MXAhEfTnaPvqddM++sKgvaWyvYL5jcr71h8HiZl1BJZ9+MdcSLqQ4XR36qBz7mSL2w5/ wHww==
MIME-Version: 1.0
X-Received: by 10.180.83.163 with SMTP id r3mr22566637wiy.10.1374596550732; Tue, 23 Jul 2013 09:22:30 -0700 (PDT)
Received: by 10.194.60.46 with HTTP; Tue, 23 Jul 2013 09:22:30 -0700 (PDT)
In-Reply-To: <CA+KJw_5PcUxBiUnQ00=G2C4Q6MnaB=hpNDk+9eTeZMs3Lz-CpA@mail.gmail.com>
References: <CA+KJw_5PcUxBiUnQ00=G2C4Q6MnaB=hpNDk+9eTeZMs3Lz-CpA@mail.gmail.com>
Date: Tue, 23 Jul 2013 09:22:30 -0700
Message-ID: <CABkgnnURpBaQYSeCTPHyMRbeqEU-=EPuXP2L_Z087o5LY8cxTg@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
To: Gábor Molnár <gabor.molnar@sch.bme.hu>
Cc: 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=74.125.82.176; envelope-from=martin.thomson@gmail.com; helo=mail-we0-f176.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.685, 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: lisa.w3.org 1V1fMX-0005Pe-3k 05be824337e7b58f541011746800ad11
X-Original-To: ietf-http-wg@w3.org
Subject: Re: MAX_CONCURRENT_STREAMS=0 and PUSH_PROMISE
Archived-At: <http://www.w3.org/mid/CABkgnnURpBaQYSeCTPHyMRbeqEU-=EPuXP2L_Z087o5LY8cxTg@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18875
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 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.