W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2014

Re: hpack static table question?

From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Date: Tue, 3 Jun 2014 01:05:00 +0900
Message-ID: <CAPyZ6=Kq-27GLeNymQFWSxMDP05mTnAXGm7gpre1uc31fqrcPQ@mail.gmail.com>
To: Greg Wilkins <gregw@intalio.com>
Cc: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>, HTTP Working Group <ietf-http-wg@w3.org>
On Tue, Jun 3, 2014 at 12:45 AM, Greg Wilkins <gregw@intalio.com> wrote:

> Tatsuhiro,
>
> sorry but I'm still not understanding.   If you want to clear the
> reference set, there is a 1 byte code to send for that.   It makes little
> sense to set the header table size to 0 just to clear the reference set.
>
>
​You are mixing the capability of decoder and encoder.  Clearing header
table by sending SETTINGS_HEADER_TABLE_SIZE = 0 is done by decoder.  On the
other hand, sending context update to clear reference set is a job of
encoder.​  And we have different compression context for decoder and
encoder on each side.


> This also raises another slight concern.  When the copied static entry in
> the dynamic table is eventually evicted, then that field is also evicted
> from the reference set.  Chances are that it will then be put straight back
> in there.  Seams pointless?
>
>
​Sorry, I don't understand.  What is the problem here exactly?

Best regards,
Tatsuhiro Tsujikawa​



> So I'm still not getting why?
>
> cheers
>
>
>
> On 2 June 2014 17:22, Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> wrote:
>
>>
>>
>>
>> On Tue, Jun 3, 2014 at 12:07 AM, Ilari Liusvaara <
>> ilari.liusvaara@elisanet.fi> wrote:
>>
>>> On Mon, Jun 02, 2014 at 04:45:28PM +0200, Greg Wilkins wrote:
>>> > The hpack draft 7 says in 3.2.1 : "The referenced static entry is
>>> inserted
>>> > at the beginning of the header table".
>>> >
>>> > I can't understand why this copy of a static entry to the dynamic
>>> table is
>>> > needed?   Doesn't this mean that the static entry will now be known by
>>> two
>>> > indexes?     Why is this copy needed?
>>>
>>> AFAIK, to avoid needing having to keep state bits (2 per entry[1]) for
>>> the
>>> static table.
>>>
>>> Yeah, the static table is 61 entries, thus the amount of state needed
>>> would
>>> be just 16 bytes.
>>>
>>>
>>> [1] In set and emitted bits.
>>>
>>>
>> ​Another reason is that we can clear reference set when ​setting
>> SETTINGS_HEADER_TABLE_SIZE to 0 if we static entry is copied int dynamic
>> header table when it is referenced.
>>
>> Best regards,
>> Tatsuhiro Tsujikawa
>>
>>
>>
>>>
>>> -Ilari
>>>
>>>
>>
>
>
> --
> Greg Wilkins <gregw@intalio.com>
> http://eclipse.org/jetty HTTP, SPDY, Websocket server and client that
> scales
> http://www.webtide.com  advice and support for jetty and cometd.
>
Received on Monday, 2 June 2014 16:05:47 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:31 UTC