HTTP Layer rework and PUSH_PROMISE contents

Mike Bishop <Michael.Bishop@microsoft.com> Sat, 29 June 2013 00:11 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 98CA821F9D94 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 28 Jun 2013 17:11:25 -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 HtaMEKgDAzny for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 28 Jun 2013 17:11:18 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 7AB8621F9CE6 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 28 Jun 2013 17:11:13 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1Usijf-0006ir-8H for ietf-http-wg-dist@listhub.w3.org; Sat, 29 Jun 2013 00:09:51 +0000
Resent-Date: Sat, 29 Jun 2013 00:09:51 +0000
Resent-Message-Id: <E1Usijf-0006ir-8H@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <Michael.Bishop@microsoft.com>) id 1UsijH-0006gD-RV for ietf-http-wg@listhub.w3.org; Sat, 29 Jun 2013 00:09:27 +0000
Received: from mail-bl2lp0205.outbound.protection.outlook.com ([207.46.163.205] helo=na01-bl2-obe.outbound.protection.outlook.com) by maggie.w3.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from <Michael.Bishop@microsoft.com>) id 1UsijH-000071-0F for ietf-http-wg@w3.org; Sat, 29 Jun 2013 00:09:27 +0000
Received: from BY2FFO11FD017.protection.gbl (10.1.15.204) by BY2FFO11HUB028.protection.gbl (10.1.14.139) with Microsoft SMTP Server (TLS) id 15.0.717.3; Sat, 29 Jun 2013 00:08:48 +0000
Received: from TK5EX14HUBC103.redmond.corp.microsoft.com (131.107.125.37) by BY2FFO11FD017.mail.protection.outlook.com (10.1.14.105) with Microsoft SMTP Server (TLS) id 15.0.707.0 via Frontend Transport; Sat, 29 Jun 2013 00:08:48 +0000
Received: from db9outboundpool.messaging.microsoft.com (157.54.51.81) by mail.microsoft.com (157.54.86.9) with Microsoft SMTP Server (TLS) id 14.3.136.1; Sat, 29 Jun 2013 00:08:46 +0000
Received: from mail14-db9-R.bigfish.com (10.174.16.231) by DB9EHSOBE027.bigfish.com (10.174.14.90) with Microsoft SMTP Server id 14.1.225.23; Sat, 29 Jun 2013 00:07:26 +0000
Received: from mail14-db9 (localhost [127.0.0.1]) by mail14-db9-R.bigfish.com (Postfix) with ESMTP id 9A3CC3C00AA for <ietf-http-wg@w3.org.FOPE.CONNECTOR.OVERRIDE>; Sat, 29 Jun 2013 00:07:26 +0000 (UTC)
X-Forefront-Antispam-Report-Untrusted: CIP:157.56.240.21; KIP:(null); UIP:(null); (null); H:BL2PRD0310HT005.namprd03.prod.outlook.com; R:internal; EFV:INT
X-SpamScore: 1
X-BigFish: PS1(zz1432Ic857hzz1f42h1ee6h1de0h1fdah2073h1202h1e76h1d1ah1d2ah1fc6hzz1d7338h17326ah18c673h8275bh8275dhz31h2a8h668h839hd24hf0ah1288h12a5h12bdh137ah1441h1504h1537h153bh162dh1631h1758h18e1h1946h19b5h19ceh1ad9h1b0ah1bceh1d07h1d0ch1d2eh1d3fh1dc1h1de9h1dfeh1dffh1e1dh9a9j1155h)
Received-SPF: softfail (mail14-db9: transitioning domain of microsoft.com does not designate 157.56.240.21 as permitted sender) client-ip=157.56.240.21; envelope-from=Michael.Bishop@microsoft.com; helo=BL2PRD0310HT005.namprd03.prod.outlook.com ; .outlook.com ;
X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(189002)(199002)(51704005)(74706001)(76576001)(56776001)(31966008)(76176001)(19300405004)(33646001)(69226001)(76796001)(81542001)(15202345003)(77096001)(16406001)(54316002)(83072001)(56816003)(4396001)(74316001)(80022001)(81342001)(74366001)(74502001)(16236675002)(74876001)(76482001)(51856001)(66066001)(50986001)(47736001)(79102001)(76786001)(54356001)(46102001)(47976001)(59766001)(63696002)(65816001)(49866001)(53806001)(47446002)(77982001)(74662001)(24736002); DIR:OUT; SFP:; SCL:1; SRVR:BY2PR03MB027; H:BY2PR03MB025.namprd03.prod.outlook.com; RD:InfoNoRecords; MX:1; A:1; LANG:en;
Received: from mail14-db9 (localhost.localdomain [127.0.0.1]) by mail14-db9 (MessageSwitch) id 1372464444109007_6795; Sat, 29 Jun 2013 00:07:24 +0000 (UTC)
Received: from DB9EHSMHS010.bigfish.com (unknown [10.174.16.229]) by mail14-db9.bigfish.com (Postfix) with ESMTP id 14E41380046 for <ietf-http-wg@w3.org>; Sat, 29 Jun 2013 00:07:24 +0000 (UTC)
Received: from BL2PRD0310HT005.namprd03.prod.outlook.com (157.56.240.21) by DB9EHSMHS010.bigfish.com (10.174.14.20) with Microsoft SMTP Server (TLS) id 14.16.227.3; Sat, 29 Jun 2013 00:07:23 +0000
Received: from BY2PR03MB027.namprd03.prod.outlook.com (10.255.240.41) by BL2PRD0310HT005.namprd03.prod.outlook.com (10.255.97.40) with Microsoft SMTP Server (TLS) id 14.16.324.0; Sat, 29 Jun 2013 00:07:20 +0000
Received: from BY2PR03MB025.namprd03.prod.outlook.com (10.255.240.39) by BY2PR03MB027.namprd03.prod.outlook.com (10.255.240.41) with Microsoft SMTP Server (TLS) id 15.0.702.21; Sat, 29 Jun 2013 00:07:18 +0000
Received: from BY2PR03MB025.namprd03.prod.outlook.com ([169.254.8.74]) by BY2PR03MB025.namprd03.prod.outlook.com ([169.254.8.74]) with mapi id 15.00.0702.005; Sat, 29 Jun 2013 00:07:17 +0000
From: Mike Bishop <Michael.Bishop@microsoft.com>
To: HTTP Working Group <ietf-http-wg@w3.org>
Thread-Topic: HTTP Layer rework and PUSH_PROMISE contents
Thread-Index: Ac50XHHn5C5V/Yr6RlmQKoNJCHNNNQ==
Date: Sat, 29 Jun 2013 00:07:17 +0000
Message-ID: <15a394809da64b188945aa51ac0265b4@BY2PR03MB025.namprd03.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [70.199.132.192]
x-forefront-prvs: 0892FA9A88
Content-Type: multipart/alternative; boundary="_000_15a394809da64b188945aa51ac0265b4BY2PR03MB025namprd03pro_"
MIME-Version: 1.0
X-OrganizationHeadersPreserved: BY2PR03MB027.namprd03.prod.outlook.com
X-FOPE-CONNECTOR: Id%0$Dn%*$RO%0$TLS%0$FQDN%$TlsDn%
X-FOPE-CONNECTOR: Id%59$Dn%W3.ORG$RO%2$TLS%6$FQDN%corpf5vips-237160.customer.frontbridge.com$TlsDn%
X-CrossPremisesHeadersPromoted: TK5EX14HUBC103.redmond.corp.microsoft.com
X-CrossPremisesHeadersFiltered: TK5EX14HUBC103.redmond.corp.microsoft.com
X-Forefront-Antispam-Report: CIP:131.107.125.37; CTRY:US; IPV:CAL; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(51704005)(189002)(199002)(31966008)(59766001)(50986001)(69226001)(56776001)(74876001)(53806001)(80022001)(76576001)(76786001)(76796001)(49866001)(65816001)(54356001)(76176001)(66066001)(76482001)(81542001)(54316002)(512874002)(77982001)(6806003)(47736001)(47976001)(51856001)(4396001)(81342001)(74366001)(47446002)(74316001)(16236675002)(79102001)(71186001)(46102001)(74662001)(19300405004)(44976004)(83072001)(33646001)(15202345003)(20776003)(56816003)(16676001)(74502001)(63696002)(74706001)(77096001)(24736002); DIR:OUT; SFP:; SCL:1; SRVR:BY2FFO11HUB028; H:TK5EX14HUBC103.redmond.corp.microsoft.com; CLIP:131.107.125.37; RD:InfoDomainNonexistent; MX:1; A:1; LANG:en;
X-OriginatorOrg: microsoft.onmicrosoft.com
X-O365ENT-EOP-Header: Message processed by - O365_ENT: Allow from ranges (Engineering ONLY)
X-Forefront-PRVS: 0892FA9A88
Received-SPF: pass client-ip=207.46.163.205; envelope-from=Michael.Bishop@microsoft.com; helo=na01-bl2-obe.outbound.protection.outlook.com
X-W3C-Hub-Spam-Status: No, score=-0.7
X-W3C-Hub-Spam-Report: HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UsijH-000071-0F 02dfc9f54cc620637fa1da428cb94ced
X-Original-To: ietf-http-wg@w3.org
Subject: HTTP Layer rework and PUSH_PROMISE contents
Archived-At: <http://www.w3.org/mid/15a394809da64b188945aa51ac0265b4@BY2PR03MB025.namprd03.prod.outlook.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18399
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>

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.