RE: Header compression question: duplicate header entry and current index on computing working set
Mike Bishop <Michael.Bishop@microsoft.com> Wed, 17 July 2013 17:02 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 C6F6A21F9A05 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 17 Jul 2013 10:02:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.394
X-Spam-Level:
X-Spam-Status: No, score=-7.394 tagged_above=-999 required=5 tests=[AWL=0.072, BAYES_00=-2.599, HTML_MESSAGE=0.001, 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 R5Uh--9RCQak for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 17 Jul 2013 10:02:09 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id B84FA21F8EB2 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 17 Jul 2013 10:02:08 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UzV6E-0006OF-Co for ietf-http-wg-dist@listhub.w3.org; Wed, 17 Jul 2013 17:01:10 +0000
Resent-Date: Wed, 17 Jul 2013 17:01:10 +0000
Resent-Message-Id: <E1UzV6E-0006OF-Co@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 1UzV63-0006M1-JT for ietf-http-wg@listhub.w3.org; Wed, 17 Jul 2013 17:00:59 +0000
Received: from mail-by2lp0235.outbound.protection.outlook.com ([207.46.163.235] helo=na01-by2-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 1UzV61-0001ZT-QK for ietf-http-wg@w3.org; Wed, 17 Jul 2013 17:00:59 +0000
Received: from BL2FFO11FD024.protection.gbl (10.173.161.204) by BL2FFO11HUB028.protection.gbl (10.173.161.52) with Microsoft SMTP Server (TLS) id 15.0.717.3; Wed, 17 Jul 2013 17:00:30 +0000
Received: from TK5EX14HUBC104.redmond.corp.microsoft.com (131.107.125.37) by BL2FFO11FD024.mail.protection.outlook.com (10.173.161.103) with Microsoft SMTP Server (TLS) id 15.0.717.3 via Frontend Transport; Wed, 17 Jul 2013 17:00:30 +0000
Received: from va3outboundpool.messaging.microsoft.com (157.54.51.114) by mail.microsoft.com (157.54.80.25) with Microsoft SMTP Server (TLS) id 14.3.136.1; Wed, 17 Jul 2013 17:00:28 +0000
Received: from mail117-va3-R.bigfish.com (10.7.14.254) by VA3EHSOBE004.bigfish.com (10.7.40.24) with Microsoft SMTP Server id 14.1.225.22; Wed, 17 Jul 2013 16:59:13 +0000
Received: from mail117-va3 (localhost [127.0.0.1]) by mail117-va3-R.bigfish.com (Postfix) with ESMTP id B856D40078 for <ietf-http-wg@w3.org.FOPE.CONNECTOR.OVERRIDE>; Wed, 17 Jul 2013 16:59:13 +0000 (UTC)
X-Forefront-Antispam-Report-Untrusted: CIP:157.56.240.21; KIP:(null); UIP:(null); (null); H:BL2PRD0310HT002.namprd03.prod.outlook.com; R:internal; EFV:INT
X-SpamScore: 2
X-BigFish: PS2(zz98dI9371Ic85fhzz1f42h1ee6h1de0h1fdah2073h1202h1e76h1d1ah1d2ah1fc6hzz1d7338h17326ah18c673h8275bh8275dhz31h2a8h668h839hd24hf0ah1288h12a5h12bdh137ah1441h1504h1537h153bh162dh1631h1758h18e1h1946h19b5h1ad9h1b0ah1bceh1d07h1d0ch1d2eh1d3fh1de9h1dfeh1dffh1e1dh17ej9a9j1155h)
Received-SPF: softfail (mail117-va3: 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=BL2PRD0310HT002.namprd03.prod.outlook.com ; .outlook.com ;
X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(377454003)(189002)(199002)(24454002)(83072001)(74876001)(49866001)(79102001)(46102001)(33646001)(47736001)(4396001)(74316001)(77982001)(47446002)(76786001)(47976001)(74662001)(65816001)(59766001)(76576001)(54316002)(74502001)(50986001)(77096001)(74706001)(31966008)(81342001)(16236675002)(19300405004)(76796001)(76482001)(56776001)(81542001)(80022001)(56816003)(53806001)(69226001)(63696002)(15202345003)(74366001)(16406001)(51856001)(54356001)(24736002)(3826001); DIR:OUT; SFP:; SCL:1; SRVR:BY2PR03MB025; H:BY2PR03MB025.namprd03.prod.outlook.com; CLIP:2001:4898:80e8:ed31::cb; RD:InfoNoRecords; MX:1; A:1; LANG:en;
Received: from mail117-va3 (localhost.localdomain [127.0.0.1]) by mail117-va3 (MessageSwitch) id 1374080352479898_22249; Wed, 17 Jul 2013 16:59:12 +0000 (UTC)
Received: from VA3EHSMHS016.bigfish.com (unknown [10.7.14.247]) by mail117-va3.bigfish.com (Postfix) with ESMTP id 708026004D; Wed, 17 Jul 2013 16:59:12 +0000 (UTC)
Received: from BL2PRD0310HT002.namprd03.prod.outlook.com (157.56.240.21) by VA3EHSMHS016.bigfish.com (10.7.99.26) with Microsoft SMTP Server (TLS) id 14.1.225.23; Wed, 17 Jul 2013 16:59:12 +0000
Received: from BY2PR03MB025.namprd03.prod.outlook.com (10.255.240.39) by BL2PRD0310HT002.namprd03.prod.outlook.com (10.255.97.37) with Microsoft SMTP Server (TLS) id 14.16.329.3; Wed, 17 Jul 2013 16:59:11 +0000
Received: from BY2PR03MB025.namprd03.prod.outlook.com (10.255.240.39) by BY2PR03MB025.namprd03.prod.outlook.com (10.255.240.39) with Microsoft SMTP Server (TLS) id 15.0.731.16; Wed, 17 Jul 2013 16:59:09 +0000
Received: from BY2PR03MB025.namprd03.prod.outlook.com ([169.254.8.207]) by BY2PR03MB025.namprd03.prod.outlook.com ([169.254.8.207]) with mapi id 15.00.0731.000; Wed, 17 Jul 2013 16:59:09 +0000
From: Mike Bishop <Michael.Bishop@microsoft.com>
To: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>, Martin Thomson <martin.thomson@gmail.com>
CC: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Thread-Topic: Header compression question: duplicate header entry and current index on computing working set
Thread-Index: AQHOgww0k1MRXWNIdkWPK87QuOzQyplpFbCAgAABjuA=
Date: Wed, 17 Jul 2013 16:59:08 +0000
Message-ID: <5056ccb2fb804632bd5425e9f7b49e14@BY2PR03MB025.namprd03.prod.outlook.com>
References: <CAPyZ6=+sFhOuSSE6OEB9bJAMYm0zt4SJwgmdMjUTprmiAj3ujg@mail.gmail.com> <CABkgnnWP=TgVZ2pruTCWUbZuLkBMwWa3rCH-Kiup8j-c=hKcLg@mail.gmail.com> <CAPyZ6=JJONW8uciYMmApEuUaM+DQZ3PDaS7n-JaXhz7DQuytQA@mail.gmail.com>
In-Reply-To: <CAPyZ6=JJONW8uciYMmApEuUaM+DQZ3PDaS7n-JaXhz7DQuytQA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2001:4898:80e8:ed31::cb]
x-forefront-prvs: 0910AAF391
Content-Type: multipart/alternative; boundary="_000_5056ccb2fb804632bd5425e9f7b49e14BY2PR03MB025namprd03pro_"
MIME-Version: 1.0
X-OrganizationHeadersPreserved: BY2PR03MB025.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%GMAIL.COM$RO%2$TLS%6$FQDN%corpf5vips-237160.customer.frontbridge.com$TlsDn%
X-CrossPremisesHeadersPromoted: TK5EX14HUBC104.redmond.corp.microsoft.com
X-CrossPremisesHeadersFiltered: TK5EX14HUBC104.redmond.corp.microsoft.com
X-Forefront-Antispam-Report: CIP:131.107.125.37; CTRY:US; IPV:CAL; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(24454002)(377454003)(199002)(189002)(15202345003)(6806004)(63696002)(69226001)(47976001)(33646001)(77982001)(74316001)(76796001)(49866001)(47736001)(65816001)(80022001)(20776003)(4396001)(76786001)(56816003)(77096001)(76576001)(50986001)(16676001)(53806001)(74366001)(19300405004)(54356001)(54316002)(81342001)(59766001)(79102001)(74876001)(31966008)(74502001)(71186001)(16236675002)(74706001)(51856001)(74662001)(76482001)(512954002)(56776001)(81542001)(83072001)(44976005)(46102001)(47446002)(24736002)(3826001); DIR:OUT; SFP:; SCL:1; SRVR:BL2FFO11HUB028; H:TK5EX14HUBC104.redmond.corp.microsoft.com; CLIP:131.107.125.37; RD:InfoDomainNonexistent; A:1; MX: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: 0910AAF391
Received-SPF: pass client-ip=207.46.163.235; envelope-from=Michael.Bishop@microsoft.com; helo=na01-by2-obe.outbound.protection.outlook.com
X-W3C-Hub-Spam-Status: No, score=0.0
X-W3C-Hub-Spam-Report: HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, UNRESOLVED_TEMPLATE=0.716
X-W3C-Scan-Sig: maggie.w3.org 1UzV61-0001ZT-QK f7ba1f1c91d0e728248d23b191c52a85
X-Original-To: ietf-http-wg@w3.org
Subject: RE: Header compression question: duplicate header entry and current index on computing working set
Archived-At: <http://www.w3.org/mid/5056ccb2fb804632bd5425e9f7b49e14@BY2PR03MB025.namprd03.prod.outlook.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18829
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>
How did the object get into the reference set? Because the compressor referenced an object by index, or included it as a literal and added it to the table. So the object in the reference set points to the entry in the table it was added with. If there happens to be another identical entry in the table, nothing says that the decompressor will even notice that. I don't recall anything that requires the decompressor to sweep the header table looking for matches - that's the compressor's job. From: Tatsuhiro Tsujikawa [mailto:tatsuhiro.t@gmail.com] Sent: Wednesday, July 17, 2013 9:52 AM To: Martin Thomson Cc: ietf-http-wg@w3.org Subject: Re: Header compression question: duplicate header entry and current index on computing working set On Thu, Jul 18, 2013 at 1:36 AM, Martin Thomson <martin.thomson@gmail.com<mailto:martin.thomson@gmail.com>> wrote: On 17 July 2013 08:56, Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com<mailto:tatsuhiro.t@gmail.com>> wrote: > In 3.4, to compute working set from reference set of headers, the index of > entry in header table is required. > The question is, when the duplicate entries are in the header table, which > index is used as the index of working set? If, for some strange reason, a compressor created multiple identical entries in the table, the decompressor is required to respect that choice, even if it is likely to be a bug. This prevents the decompressor and compressor from getting out of sync. The compressor can then reference any of the entries when using an index. If the choice is arbitrary, then the compressor and decompressor may choose different index and can get out of sync. For example, Current header table: |0|name1|value1| |1|name1|value1| If name1/value1 is in reference set, compressor chooses index 0, and decompressor chooses index 1. compressor wants to remove name1/value1, so reference index 0. In decompressor side, however, seeing index header representation with index 0 and it is not in its reference set (because name1/value1 is index 1), retrieve index 0 from header table and add it to working set. Maybe I misunderstand the draft. If multiple identical entries are considered as a bug, then it would be better to prohibit it in the spec and we are happy to not to consider these things. Best regards, Tatsuhiro Tsujikawa
- Header compression question: duplicate header ent… Tatsuhiro Tsujikawa
- Re: Header compression question: duplicate header… Martin Thomson
- Re: Header compression question: duplicate header… Tatsuhiro Tsujikawa
- RE: Header compression question: duplicate header… Mike Bishop
- Re: Header compression question: duplicate header… Jeff Pinner
- Re: Header compression question: duplicate header… Roberto Peon
- Re: Header compression question: duplicate header… Tatsuhiro Tsujikawa