RE: Header Compression Implementation Feedback

Mike Bishop <Michael.Bishop@microsoft.com> Tue, 09 July 2013 13:41 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 99C6A21F9F4B for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 9 Jul 2013 06:41:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.773
X-Spam-Level:
X-Spam-Status: No, score=-7.773 tagged_above=-999 required=5 tests=[AWL=-0.306, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, UNRESOLVED_TEMPLATE=3.132]
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 tx8nH4Lbvt6F for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 9 Jul 2013 06:41:48 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 2478C21F9EE7 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 9 Jul 2013 06:41:47 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UwY9r-0003HV-MF for ietf-http-wg-dist@listhub.w3.org; Tue, 09 Jul 2013 13:40:43 +0000
Resent-Date: Tue, 09 Jul 2013 13:40:43 +0000
Resent-Message-Id: <E1UwY9r-0003HV-MF@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <Michael.Bishop@microsoft.com>) id 1UwY9i-0003EZ-30 for ietf-http-wg@listhub.w3.org; Tue, 09 Jul 2013 13:40:34 +0000
Received: from mail-by2lp0238.outbound.protection.outlook.com ([207.46.163.238] helo=na01-by2-obe.outbound.protection.outlook.com) by lisa.w3.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from <Michael.Bishop@microsoft.com>) id 1UwY9d-0003X2-Ar for ietf-http-wg@w3.org; Tue, 09 Jul 2013 13:40:34 +0000
Received: from BL2FFO11FD011.protection.gbl (10.173.161.202) by BL2FFO11HUB048.protection.gbl (10.173.161.124) with Microsoft SMTP Server (TLS) id 15.0.717.3; Tue, 9 Jul 2013 13:40:01 +0000
Received: from TK5EX14MLTC104.redmond.corp.microsoft.com (131.107.125.37) by BL2FFO11FD011.mail.protection.outlook.com (10.173.161.17) with Microsoft SMTP Server (TLS) id 15.0.717.3 via Frontend Transport; Tue, 9 Jul 2013 13:40:01 +0000
Received: from co1outboundpool.messaging.microsoft.com (157.54.51.112) by mail.microsoft.com (157.54.79.159) with Microsoft SMTP Server (TLS) id 14.3.136.1; Tue, 9 Jul 2013 13:39:44 +0000
Received: from mail177-co1-R.bigfish.com (10.243.78.253) by CO1EHSOBE038.bigfish.com (10.243.66.103) with Microsoft SMTP Server id 14.1.225.22; Tue, 9 Jul 2013 13:38:59 +0000
Received: from mail177-co1 (localhost [127.0.0.1]) by mail177-co1-R.bigfish.com (Postfix) with ESMTP id 0D0389801DB for <ietf-http-wg@w3.org.FOPE.CONNECTOR.OVERRIDE>; Tue, 9 Jul 2013 13:38:59 +0000 (UTC)
X-Forefront-Antispam-Report-Untrusted: CIP:157.56.240.21; KIP:(null); UIP:(null); (null); H:BL2PRD0310HT003.namprd03.prod.outlook.com; R:internal; EFV:INT
X-SpamScore: -4
X-BigFish: PS-4(zzbb2dI98dI9371I936eI542I1432Izz1f42h1ee6h1de0h1fdah2073h1202h1e76h1d1ah1d2ah1fc6hzz8275dhz31h2a8h668h839h944hd24hf0ah1220h1288h12a5h12a9h12bdh137ah13b6h1441h1504h1537h153bh162dh1631h1758h18e1h1946h19b5h19ceh1ad9h1b0ah1d07h1d0ch1d2eh1d3fh1de9h1dfeh1dffh1e1dh9a9j1155h)
Received-SPF: softfail (mail177-co1: 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=BL2PRD0310HT003.namprd03.prod.outlook.com ; .outlook.com ;
X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(24454002)(377424004)(377454003)(189002)(479174003)(199002)(13464003)(51704005)(65816001)(83072001)(74502001)(56776001)(59766001)(31966008)(49866001)(33646001)(47446002)(76796001)(47976001)(69226001)(16406001)(74316001)(76576001)(56816003)(81542001)(77096001)(50986001)(79102001)(4396001)(81342001)(63696002)(47736001)(74706001)(76786001)(66066001)(80022001)(77982001)(53806001)(46102001)(51856001)(74876001)(54316002)(74366001)(74662001)(76482001)(54356001)(24736002); DIR:OUT; SFP:; SCL:1; SRVR:BY2PR03MB027; H:BY2PR03MB025.namprd03.prod.outlook.com; RD:InfoNoRecords; MX:1; A:1; LANG:en;
Received: from mail177-co1 (localhost.localdomain [127.0.0.1]) by mail177-co1 (MessageSwitch) id 1373377136953046_2483; Tue, 9 Jul 2013 13:38:56 +0000 (UTC)
Received: from CO1EHSMHS028.bigfish.com (unknown [10.243.78.247]) by mail177-co1.bigfish.com (Postfix) with ESMTP id E64A1900051; Tue, 9 Jul 2013 13:38:56 +0000 (UTC)
Received: from BL2PRD0310HT003.namprd03.prod.outlook.com (157.56.240.21) by CO1EHSMHS028.bigfish.com (10.243.66.38) with Microsoft SMTP Server (TLS) id 14.1.225.23; Tue, 9 Jul 2013 13:38:55 +0000
Received: from BY2PR03MB027.namprd03.prod.outlook.com (10.255.240.41) by BL2PRD0310HT003.namprd03.prod.outlook.com (10.255.97.38) with Microsoft SMTP Server (TLS) id 14.16.329.3; Tue, 9 Jul 2013 13:38:54 +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; Tue, 9 Jul 2013 13:38:52 +0000
Received: from BY2PR03MB025.namprd03.prod.outlook.com ([169.254.8.74]) by BY2PR03MB025.namprd03.prod.outlook.com ([169.254.8.179]) with mapi id 15.00.0702.005; Tue, 9 Jul 2013 13:38:51 +0000
From: Mike Bishop <Michael.Bishop@microsoft.com>
To: Michael Sweet <msweet@apple.com>, Amos Jeffries <squid3@treenet.co.nz>
CC: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Thread-Topic: Header Compression Implementation Feedback
Thread-Index: AQHOfBr3Y2My4X/UH0m418MLDu59k5lbdq+AgABXRQCAAG1VgIAAHtoQ
Date: Tue, 09 Jul 2013 13:38:51 +0000
Message-ID: <049a36f0d74e4b34a4847bc3249bac66@BY2PR03MB025.namprd03.prod.outlook.com>
References: <CABP7RbcjzwY6YgQWxRSu9zLJ6v2kwyQHyyr7t7SYOqH5e1Opow@mail.gmail.com> <CABP7RbdND8yMknhrBmc7Qh9Qzyv=XrxcXFh4FAmhSRcEWMNBQw@mail.gmail.com> <51DB9C08.4010005@treenet.co.nz> <C381B945-1AAE-43E9-A8D0-1323984004F4@apple.com>
In-Reply-To: <C381B945-1AAE-43E9-A8D0-1323984004F4@apple.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [24.16.13.163]
x-forefront-prvs: 0902222726
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
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-FOPE-CONNECTOR: Id%59$Dn%TREENET.CO.NZ$RO%2$TLS%6$FQDN%corpf5vips-237160.customer.frontbridge.com$TlsDn%
X-FOPE-CONNECTOR: Id%59$Dn%APPLE.COM$RO%2$TLS%6$FQDN%corpf5vips-237160.customer.frontbridge.com$TlsDn%
X-CrossPremisesHeadersPromoted: TK5EX14MLTC104.redmond.corp.microsoft.com
X-CrossPremisesHeadersFiltered: TK5EX14MLTC104.redmond.corp.microsoft.com
X-Forefront-Antispam-Report: CIP:131.107.125.37; CTRY:US; IPV:CAL; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(479174003)(377454003)(377424004)(24454002)(51704005)(189002)(13464003)(199002)(74876001)(76786001)(44976004)(51856001)(31966008)(79102001)(74366001)(20776003)(74316001)(47446002)(81542001)(53806001)(56816003)(23726002)(76482001)(76796001)(56776001)(74502001)(74662001)(46102001)(54356001)(76576001)(54316002)(50466002)(47776003)(83072001)(69226001)(77982001)(66066001)(65816001)(16676001)(81342001)(6806003)(59766001)(33646001)(47976001)(47736001)(80022001)(4396001)(49866001)(63696002)(46406003)(74706001)(50986001)(77096001)(24736002); DIR:OUT; SFP:; SCL:1; SRVR:BL2FFO11HUB048; H:TK5EX14MLTC104.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: 0902222726
Received-SPF: pass client-ip=207.46.163.238; envelope-from=Michael.Bishop@microsoft.com; helo=na01-by2-obe.outbound.protection.outlook.com
X-W3C-Hub-Spam-Status: No, score=-3.0
X-W3C-Hub-Spam-Report: AWL=-2.988, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, UNRESOLVED_TEMPLATE=0.716
X-W3C-Scan-Sig: lisa.w3.org 1UwY9d-0003X2-Ar 4e4eefccc3217062eded009b714ef8d0
X-Original-To: ietf-http-wg@w3.org
Subject: RE: Header Compression Implementation Feedback
Archived-At: <http://www.w3.org/mid/049a36f0d74e4b34a4847bc3249bac66@BY2PR03MB025.namprd03.prod.outlook.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18644
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>

No -- there's a single encoding and single decoding table *per connection* and this wouldn't change that.  Each table starts in an initial state with common values in each direction already in the table for convenient back-reference.

The problem with the initial state as it's currently defined is that it assumes clients only send request headers and servers only send response headers.  In fact, servers also send request headers (PUSH_PROMISE).

The suggestion is that both directions start with the same initial state.

-----Original Message-----
From: Michael Sweet [mailto:msweet@apple.com] 
Sent: Tuesday, July 9, 2013 4:45 AM
To: Amos Jeffries
Cc: ietf-http-wg@w3.org
Subject: Re: Header Compression Implementation Feedback

If you are suggesting that each endpoint should maintain a single encoding and a single decoding table per stream, I'm +1 on that.

Sent from my iPad

On 2013-07-09, at 1:13 AM, Amos Jeffries <squid3@treenet.co.nz> wrote:

> On 9/07/2013 12:01 p.m., James M Snell wrote:
>> Another minor item as I've been going through the implementation:
>> 
>> 4. Right now, the Header Compression scheme assumes two separate 
>> pre-filled header tables... one for Request headers, the other for 
>> response headers. The challenge with this is that it does not account 
>> for the use of Request Headers within PUSH_PROMISE frames. This is 
>> minor right now, but it means that PUSH_PROMISE frames will not have 
>> optimum compression because the request headers will need to be added 
>> as Literal representations with Indexing. It would be better if we 
>> just had ONE prefilled table (it would make implementation generally 
>> easier as well)
> 
> +1.
> 
> Amos
>