Re: Straw Poll: Restore Header Table and Static Table Indices

Willy Tarreau <w@1wt.eu> Tue, 21 October 2014 10:24 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 (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 98A631A0275 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 21 Oct 2014 03:24:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.912
X-Spam-Level:
X-Spam-Status: No, score=-6.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VAMtEIEutIjJ for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 21 Oct 2014 03:24:42 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE0141A01A8 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 21 Oct 2014 03:24:41 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1XgWZm-0007ka-UX for ietf-http-wg-dist@listhub.w3.org; Tue, 21 Oct 2014 10:22:02 +0000
Resent-Date: Tue, 21 Oct 2014 10:22:02 +0000
Resent-Message-Id: <E1XgWZm-0007ka-UX@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <w@1wt.eu>) id 1XgWZf-0007jv-L2 for ietf-http-wg@listhub.w3.org; Tue, 21 Oct 2014 10:21:55 +0000
Received: from 1wt.eu ([62.212.114.60]) by lisa.w3.org with esmtp (Exim 4.72) (envelope-from <w@1wt.eu>) id 1XgWZe-0004Se-LD for ietf-http-wg@w3.org; Tue, 21 Oct 2014 10:21:55 +0000
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id s9LAKGwW031135; Tue, 21 Oct 2014 12:20:16 +0200
Date: Tue, 21 Oct 2014 12:20:16 +0200
From: Willy Tarreau <w@1wt.eu>
To: Julian Reschke <julian.reschke@gmx.de>
Cc: Poul-Henning Kamp <phk@phk.freebsd.dk>, Roberto Peon <grmocg@gmail.com>, Mark Nottingham <mnot@mnot.net>, RUELLAN Herve <Herve.Ruellan@crf.canon.fr>, Amos Jeffries <squid3@treenet.co.nz>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Message-ID: <20141021102016.GG30397@1wt.eu>
References: <6C71876BDCCD01488E70A2399529D5E53BF5F842@ADELE.crf.canon.fr> <20141016091626.GC3079@1wt.eu> <34008D72-5800-412E-A276-81C6C7BFA9E2@mnot.net> <20141020165353.GA25743@1wt.eu> <8F120E2F-704E-44CB-ACF2-C743B870B2B6@mnot.net> <CAP+FsNdOHVj=YTE35Vj7mbED0OKghd-mpnFZSMcZNBM3JybJDg@mail.gmail.com> <20141021092505.GA30397@1wt.eu> <52739.1413883975@critter.freebsd.dk> <20141021094425.GC30397@1wt.eu> <54462F3F.30502@gmx.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <54462F3F.30502@gmx.de>
User-Agent: Mutt/1.4.2.3i
Received-SPF: pass client-ip=62.212.114.60; envelope-from=w@1wt.eu; helo=1wt.eu
X-W3C-Hub-Spam-Status: No, score=-3.8
X-W3C-Hub-Spam-Report: AWL=-2.332, RP_MATCHES_RCVD=-1.43, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1XgWZe-0004Se-LD 0b6381bec56311dd6943ed15e04553be
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Straw Poll: Restore Header Table and Static Table Indices
Archived-At: <http://www.w3.org/mid/20141021102016.GG30397@1wt.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/27655
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>

On Tue, Oct 21, 2014 at 12:02:39PM +0200, Julian Reschke wrote:
> On 2014-10-21 11:44, Willy Tarreau wrote:
> >...
> >I know, and you remember, that was one of the basic points of our
> >proposal 2 years ago. I think we'll hardly propose this here since
> >it changes the ability to pass certain invalid values. However, I
> > ...
> 
> Right. But maybe we could try something the represents valid values 
> well, but still allows transporting invalid values?

I hadn't thought about that option honnestly and I find that it could be
very efficient and even save a lot of CPU by avoiding to process anything
complicated or out of range. I mean, if the date respects a very precise
format, we encode it and transport it in binary. Otherwise we leave it
in plain text mode. We can have an encoding starting with something
impossible in text mode (eg: LF byte) to mark that what follows is a
32-bit binary encoding of a timestamp. A variable-length encoding would
allow to pass end of the current epoch and to use less bytes currently.
This method would even be compatible with existing encoding and parsers.

Do you think it's still possible to propose something along this without 
conflicting with the goal of stabilizing changes ?

Willy