Header compression: http1_huffman

Frédéric Kayser <f.kayser@free.fr> Fri, 25 January 2013 02:36 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 3BFDE1F0CF6 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 24 Jan 2013 18:36:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.949
X-Spam-Level:
X-Spam-Status: No, score=-9.949 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_FR=0.35, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1B5frKoVllnL for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 24 Jan 2013 18:36:23 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id B6B7A1F0C3E for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 24 Jan 2013 18:36:23 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1TyZ7m-0000L0-CZ for ietf-http-wg-dist@listhub.w3.org; Fri, 25 Jan 2013 02:34:38 +0000
Resent-Date: Fri, 25 Jan 2013 02:34:38 +0000
Resent-Message-Id: <E1TyZ7m-0000L0-CZ@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <f.kayser@free.fr>) id 1TyZ7h-0000Ju-Kr for ietf-http-wg@listhub.w3.org; Fri, 25 Jan 2013 02:34:33 +0000
Received: from smtp5-g21.free.fr ([212.27.42.5]) by lisa.w3.org with esmtp (Exim 4.72) (envelope-from <f.kayser@free.fr>) id 1TyZ7g-0003Is-9F for ietf-http-wg@w3.org; Fri, 25 Jan 2013 02:34:33 +0000
Received: from [192.168.0.1] (unknown [81.56.127.176]) by smtp5-g21.free.fr (Postfix) with ESMTP id F3BDAD4800D for <ietf-http-wg@w3.org>; Fri, 25 Jan 2013 03:34:06 +0100 (CET)
From: Frédéric Kayser <f.kayser@free.fr>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Date: Fri, 25 Jan 2013 03:34:05 +0100
Message-Id: <8A7E67D4-79FD-4DD4-8EC4-B34251AD9AFC@free.fr>
To: ietf-http-wg@w3.org
Mime-Version: 1.0 (Apple Message framework v1085)
X-Mailer: Apple Mail (2.1085)
Received-SPF: none client-ip=212.27.42.5; envelope-from=f.kayser@free.fr; helo=smtp5-g21.free.fr
X-W3C-Hub-Spam-Status: No, score=-3.4
X-W3C-Hub-Spam-Report: AWL=-3.400, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001
X-W3C-Scan-Sig: lisa.w3.org 1TyZ7g-0003Is-9F adff8565a5cece31719d67a1d1d00750
X-Original-To: ietf-http-wg@w3.org
Subject: Header compression: http1_huffman
Archived-At: <http://www.w3.org/mid/8A7E67D4-79FD-4DD4-8EC4-B34251AD9AFC@free.fr>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/16206
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>

Hello,
I've started to write my own header compressor, I'll try to make a stateless (no delta) compressor that will switch (more or less automatically) between different Huffman tables based on context (text, numbers, binary, lookup tables references...).
As an appetizer (and to test the fork interface in binary) I have hacked a very basic Zlib based Huffman coder, it calls Zlib but restricts it to a simple Huffman coder (Z_HUFFMAN_ONLY strategy).

Since I have noticed that I could quickly modify http1_gzip to do the same... I did it and called it "http1_huffman". This is a zero cost compressor since current servers and clients already implement Gzip compression, of course it produces limited gains since compressed data still weights about 75% of the original.

Regards
-- 
Frédéric Kayser