Re: HTTP Layer rework and PUSH_PROMISE contents

James M Snell <jasnell@gmail.com> Sat, 29 June 2013 00:29 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 AF97921F99E8 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 28 Jun 2013 17:29:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level:
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, 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 PCAdBRpKDQmI for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 28 Jun 2013 17:29:53 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 60B7F21F99E7 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 28 Jun 2013 17:29:53 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1Usj2Y-0007GC-P9 for ietf-http-wg-dist@listhub.w3.org; Sat, 29 Jun 2013 00:29:22 +0000
Resent-Date: Sat, 29 Jun 2013 00:29:22 +0000
Resent-Message-Id: <E1Usj2Y-0007GC-P9@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 1Usj2K-0007FS-69 for ietf-http-wg@listhub.w3.org; Sat, 29 Jun 2013 00:29:08 +0000
Received: from mail-ob0-f173.google.com ([209.85.214.173]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1Usj2J-0000lO-36 for ietf-http-wg@w3.org; Sat, 29 Jun 2013 00:29:08 +0000
Received: by mail-ob0-f173.google.com with SMTP id wc20so2543500obb.32 for <ietf-http-wg@w3.org>; Fri, 28 Jun 2013 17:28:41 -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; bh=qEfk1Qy/HzryVeXcQCTylz6/s4CUpTSmKIM33jfA7ho=; b=yCX9keyxBns6OIAnuatL48VtzbJPV3r9lJO/J87Ac78SSUnE7mv8lRW4SJa2des4eN jjo8TywUQ3fGvV5xEMuh+7LAeW9z4yh9cmmuQUuOTzD3i6hfstJpacpB1A7erJ8uBjoh /5rEud1y6sNAjFn+xl8WeHimhinY5tFn7WEkQ34qPTX29c77rL38crXh41sA187GD0jO vLscz3bVTWcoG4PUSaSFas0pnNmLCkZB0i8q/mmGLfCEakMFhJcKbkikuP/2AnRPyAYw ZDMxwQHK3NBGmdPR4z5MRcOC3wgJHfNizg2e47bZFOiCnl+bpjLs/n1a+xQUkMqKW2z9 9U6g==
MIME-Version: 1.0
X-Received: by 10.60.63.196 with SMTP id i4mr6103532oes.69.1372465721200; Fri, 28 Jun 2013 17:28:41 -0700 (PDT)
Received: by 10.60.55.8 with HTTP; Fri, 28 Jun 2013 17:28:41 -0700 (PDT)
Received: by 10.60.55.8 with HTTP; Fri, 28 Jun 2013 17:28:41 -0700 (PDT)
In-Reply-To: <15a394809da64b188945aa51ac0265b4@BY2PR03MB025.namprd03.prod.outlook.com>
References: <15a394809da64b188945aa51ac0265b4@BY2PR03MB025.namprd03.prod.outlook.com>
Date: Fri, 28 Jun 2013 17:28:41 -0700
Message-ID: <CABP7RbceLmh4dawBQjqVyF4BeF92sfSSVMXJMjYY+txPh0zGTg@mail.gmail.com>
From: James M Snell <jasnell@gmail.com>
To: Mike Bishop <Michael.Bishop@microsoft.com>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="001a11c20f96c758f304e0401309"
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.5
X-W3C-Hub-Spam-Report: AWL=-2.704, 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 1Usj2J-0000lO-36 0456baa91ba5e77a8062f5224549003d
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP Layer rework and PUSH_PROMISE contents
Archived-At: <http://www.w3.org/mid/CABP7RbceLmh4dawBQjqVyF4BeF92sfSSVMXJMjYY+txPh0zGTg@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18401
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>

That's why review is good :) the requirement upgrade was unintentional. If
possible, can you make a note on the pull request?
On Jun 28, 2013 5:11 PM, "Mike Bishop" <Michael.Bishop@microsoft.com> wrote:

>  In draft-ietf-httpbis-http2.xml:****
>
> >  ****
>
> > +        <t>****
>
> > +          The server can choose to send one or more push promises****
>
> > +          associated with the response. These notify the client that ****
>
> > +          the server intends to deliver additional resources to the client****
>
> > +          as specified in <xref target="PushResources" />. If the server****
>
> > +          sends PUSH_PROMISE frames, those MUST be sent prior to sending ****
>
> > +          any header blocks or DATA frames that reference the promised resources.****
>
> > +          For instance, if the server receives a request for a document****
>
> > +          containing embedded links to multiple image files, and the ****
>
> > +          server chooses to push those additional images to the client, ****
>
> > +          all of the push promises MUST be sent prior to sending the DATA frames ****
>
> > +          that contain the image links. Likewise, if the server pushes ****
>
> > +          resources referenced by the header block (i.e. using Link headers), ****
>
> > +          the server MUST send the push promises before sending the header****
>
> > +          block.****
>
> You're upgrading a SHOULD in the current spec to a MUST. Has this been
> discussed on-list?****
>
> Speaking as the http.sys owner for Windows, this concerns me. We don't
> know the content of the entity body fragments or response headers an
> application hands us, only the order. The only way we can definitively
> comply with this MUST is to make all PUSH_PROMISE frames precede all DATA
> or HEADERS frames. As a SHOULD, we're free to leave proper behavior to the
> app using our APIs, while maintaining non-optional protocol compliance at
> our layer. ****
>