Re: Design Issue: PUSH_PROMISE and Stream Priority

James M Snell <jasnell@gmail.com> Fri, 26 April 2013 00:04 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 5C7EF21F9713 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 25 Apr 2013 17:04:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.339
X-Spam-Level:
X-Spam-Status: No, score=-10.339 tagged_above=-999 required=5 tests=[AWL=0.260, 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 zKekzq1kWS3z for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 25 Apr 2013 17:04:55 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id D0B2B21F972A for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 25 Apr 2013 17:04:54 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UVW9W-0007BH-TR for ietf-http-wg-dist@listhub.w3.org; Fri, 26 Apr 2013 00:04:38 +0000
Resent-Date: Fri, 26 Apr 2013 00:04:38 +0000
Resent-Message-Id: <E1UVW9W-0007BH-TR@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1UVW9S-00078s-HJ for ietf-http-wg@listhub.w3.org; Fri, 26 Apr 2013 00:04:34 +0000
Received: from mail-ob0-f173.google.com ([209.85.214.173]) by lisa.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1UVW9R-0002Sv-HL for ietf-http-wg@w3.org; Fri, 26 Apr 2013 00:04:34 +0000
Received: by mail-ob0-f173.google.com with SMTP id xn12so3093281obc.32 for <ietf-http-wg@w3.org>; Thu, 25 Apr 2013 17:04:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=dh53T0rhQC9jXyK4hUOXUetfevBvcGX/smsNKifDBmA=; b=xpI8/LGX5zdla5pS+7MC2dGq9Opu3ehYwgPph4GEcfpf+wvPc3A0lXAtjMr18Zvp06 5O6mLfp4xHx8eCJ7l0x7LxkjtAzEnFS//247ak61GkdIH2eRHWGHq7l/680rRk3uV53y p72KGXBU+iwpTCkQ7iPkq8fc8JPq2xFaY/0p3bL+HBkDL/r3ebQfwuxyGYTZJRAkA0MO B75oCTR9nU5HxgueLTuBj3NOpksQJzVBu6rgMvl6hKCFhdftiKQGTTjw+deOhF1Kdnn/ KCptZakEfRin9jKVuV7h+5XrlGxQ0NYBrdncDaQggC1qWNGQW80XXz3g+yrU+e9Yl8fR 6a8Q==
X-Received: by 10.182.246.198 with SMTP id xy6mr16398605obc.1.1366934647685; Thu, 25 Apr 2013 17:04:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.60.3.137 with HTTP; Thu, 25 Apr 2013 17:03:47 -0700 (PDT)
In-Reply-To: <CABkgnnUBEvDtNQM8G5vyfyqRz4tQ8su9+14gMTdaXhzY2cq+Kg@mail.gmail.com>
References: <CABP7Rbf_hZ036vUs4LNTrGQ91kft2_97aV-9Gi2KVJnUJphbNA@mail.gmail.com> <CABkgnnUBEvDtNQM8G5vyfyqRz4tQ8su9+14gMTdaXhzY2cq+Kg@mail.gmail.com>
From: James M Snell <jasnell@gmail.com>
Date: Thu, 25 Apr 2013 17:03:47 -0700
Message-ID: <CABP7RbccA=Zo2NVzJJ-8-G+y2cNt_j8rLr5YVfB_7CVOXLE_JQ@mail.gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.214.173; envelope-from=jasnell@gmail.com; helo=mail-ob0-f173.google.com
X-W3C-Hub-Spam-Status: No, score=-3.4
X-W3C-Hub-Spam-Report: AWL=-2.608, 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 1UVW9R-0002Sv-HL e3c7a1a5f93a3bdffc43179103c1f5a9
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Design Issue: PUSH_PROMISE and Stream Priority
Archived-At: <http://www.w3.org/mid/CABP7RbccA=Zo2NVzJJ-8-G+y2cNt_j8rLr5YVfB_7CVOXLE_JQ@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17590
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>

A new frame is not required. We already have HEADERS+PRIORITY and
HEADERS. The PUSH_PROMISE definition states that the promise will be
followed up by a HEADERS frame, then data frames. If we allow it to be
HEADERS or HEADERS+PRIORITY then we meet the requirement.

That said, is there even a need for server pushed streams to specify a
priority? Do we want to allow servers to dictate priority to the
client? I can see a number of ways in which a naughty server could
abuse that privilege.

Another question: do pushed streams inherit the same priority as their
associated "parent" streams? That is, client initiates a stream #1 to
the server with priority 5, server responds on that stream with two
PUSH_PROMISES for server-initiated streams #2 and #4... do streams #2
and #4 inherit the same priority as stream #1. (Please say no, Please
say no)

- James

On Thu, Apr 25, 2013 at 4:48 PM, Martin Thomson
<martin.thomson@gmail.com> wrote:
> Good point.  The hope was that a reprioritization frame would be
> proposed (Will, Roberto, we're all still waiting).
>
> If that's enough, then adding a default (maybe 2^30) would fix this.
>
> On 25 April 2013 11:03, James M Snell <jasnell@gmail.com> wrote:
>> https://github.com/http2/http2-spec/issues/75
>>
>> The current draft (-02) says, "The endpoint establishing a new stream
>> can assign a priority for the stream."
>>
>> However, the spec does not define how a stream established using
>> PUSH_PROMISE can assign the priority for a stream, nor does the spec
>> discuss whether the notion of stream priority applies to push streams.
>>
>> The spec currently states that PUSH_PROMISE is followed later on by a
>> HEADERS frame.
>>
>> If priority applies to push streams, then we need to add that priority
>> can be assigned by allowing the use of a HEADERS+PRIORITY frame.
>> Otherwise, we need to clarify the spec text to say that push streams
>> have no priority.
>>