- From: Poul-Henning Kamp <phk@phk.freebsd.dk>
- Date: Wed, 16 Jul 2014 15:02:54 +0000
- To: Greg Wilkins <gregw@intalio.com>
- cc: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
In message <CAH_y2NHvFhN75KXmFLxKkgwjSB+vG=54JtyvqmtN3yyZOzm38Q@mail.gmail.com>, Greg Wilkins wri tes: > |-----------------------------------+---+----+----+-----| > |h2-12-noRefSet-noCopy-static1 |64%|47% |42% |41% | > |-----------------------------------+---+----+----+-----| > |h2-12-noRefSet-noCopy-static1-date5|54%|39% |35% |34% | > +-------------------------------------------------------+ >But I would be very interested to see a concrete proposal for >h2-12-noRefSet-noCopy-static1-date5 17% compression over the baseline is more than I expected. My proposal is: Static table: +-------+-----------------------------+--------------+ | Index | Header Name | Header Value | +-------+-----------------------------+--------------+ | 1 | :authority | | | 2 | :method | GET | [...] | 33 | date | time_t | [...] | 36 | expires | time_t | [...] | 40 | if-modified-since | time_t | [...] | 43 | if-unmodified-since | time_t | | 44 | last-modified | time_t | [...] Where the Header Value is "time_t", the encoding is: 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | 1 | Index (7+) | +---+---------------------------+------//------------+ | 32 bit unsigned network byte order time value | +-------------------------------+------//------------+ The time value is the number of seconds since 1970-01-01 00:00 UTC without accounting for leap seconds. (ie: The UNIX/POSIX time_t definition) If the value cannot be encoded in a 32 bit unsigned integer it SHALL be sent as a string. Notice that I'm proposing a unsigned 32 bit, to be Y2038 compliant. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.
Received on Wednesday, 16 July 2014 15:03:19 UTC