Re: Header compression question: duplicate header entry and current index on computing working set

Jeff Pinner <jpinner@twitter.com> Wed, 17 July 2013 17:09 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 DA0E121F91B7 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 17 Jul 2013 10:09:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.633
X-Spam-Level:
X-Spam-Status: No, score=-9.633 tagged_above=-999 required=5 tests=[AWL=0.343, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, 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 MKT7FAtfVOKd for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 17 Jul 2013 10:09:47 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 65E5121F8FF3 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 17 Jul 2013 10:09:46 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UzVDg-000069-19 for ietf-http-wg-dist@listhub.w3.org; Wed, 17 Jul 2013 17:08:52 +0000
Resent-Date: Wed, 17 Jul 2013 17:08:52 +0000
Resent-Message-Id: <E1UzVDg-000069-19@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <jpinner@twitter.com>) id 1UzVDW-0008Vy-Lh for ietf-http-wg@listhub.w3.org; Wed, 17 Jul 2013 17:08:42 +0000
Received: from mail-oa0-f52.google.com ([209.85.219.52]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jpinner@twitter.com>) id 1UzVDV-0001nv-I5 for ietf-http-wg@w3.org; Wed, 17 Jul 2013 17:08:42 +0000
Received: by mail-oa0-f52.google.com with SMTP id g12so2897573oah.11 for <ietf-http-wg@w3.org>; Wed, 17 Jul 2013 10:08:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=twitter.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=9s0JJ4IzV6FRa+z41rhq3c2/ItrXwArJM5340isUECw=; b=mXw84609nag75azc+F3W/svrKOUQGrixAPKS5hBXcLKveWprsKV/Gm7DL90S8G+jKM OT2WWaRBiowkCUyxnY72+HdSk59P3tpl5FPHARC5MUmpyvK/hJy6X5zWQSplLPQcgzhT CisMrJ2sOU8AvNskoHzxvHz8vZN1o/bw/NrVM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-gm-message-state; bh=9s0JJ4IzV6FRa+z41rhq3c2/ItrXwArJM5340isUECw=; b=Z5eWFploxucKAUDbprEQipdbb2uVR2zT+iaBtWI7RZ0vROrahEKy3yUgn08qNXUzQT /nrBtgUc2p6ri6WD626BicRu/yAeVzg/P1sHD7MTxqU2VG9TnfbRzRzV4jZc+7Q3p/qO j+bg3zxzRS8h879WsGF8F+fdFiTIa760AKEWape18jQQbuHnLKaOYD7R2s39MHAw3L9V /DD7m8baK4Fx5D3TXNx+uSfI3hJPaqoetCYGdfLuYkcPWZmVOAiJV6/ND5zCLTBzMaui hvFz2sRYV9SApiTDvjM4Y5eKWLcAmWyjA+JLe0FH0Z2mfaZdOLYsqd0ZKr6QzoWTIRBE 6a6g==
MIME-Version: 1.0
X-Received: by 10.60.131.171 with SMTP id on11mr9180376oeb.71.1374080895495; Wed, 17 Jul 2013 10:08:15 -0700 (PDT)
Received: by 10.182.7.37 with HTTP; Wed, 17 Jul 2013 10:08:15 -0700 (PDT)
In-Reply-To: <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> <5056ccb2fb804632bd5425e9f7b49e14@BY2PR03MB025.namprd03.prod.outlook.com>
Date: Wed, 17 Jul 2013 10:08:15 -0700
Message-ID: <CA+pLO_i1iPWBibZZanTDMCB+TQC5xHEVUbO_ZegUWsvSb8skfQ@mail.gmail.com>
From: Jeff Pinner <jpinner@twitter.com>
To: Mike Bishop <Michael.Bishop@microsoft.com>
Cc: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>, Martin Thomson <martin.thomson@gmail.com>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="047d7b471da4ab38dc04e1b823d7"
X-Gm-Message-State: ALoCoQnxfAjmM5um7Q27c0K69rHhJhDFdp5auH4W7P0YCvuUP8RAQXSo7TztyzwJZXmEpUJ7aplx
Received-SPF: pass client-ip=209.85.219.52; envelope-from=jpinner@twitter.com; helo=mail-oa0-f52.google.com
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: AWL=-3.100, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UzVDV-0001nv-I5 02a5dded843509d918e9a9eee1d8806b
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/CA+pLO_i1iPWBibZZanTDMCB+TQC5xHEVUbO_ZegUWsvSb8skfQ@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18830
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>

Doesn't the decompressor have to sweep the table to create the new
reference set and compare the (index, name, value) entries?


On Wed, Jul 17, 2013 at 9:59 AM, Mike Bishop
<Michael.Bishop@microsoft.com>wrote:

>  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>
> wrote:****
>
>  On 17 July 2013 08:56, Tatsuhiro Tsujikawa <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****
>
> ** **
>
> ** **
>