Re: draft-ietf-httpbis-jfv: what's next

Martin Thomson <> Sat, 15 October 2016 10:03 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id EB8931296E3 for <>; Sat, 15 Oct 2016 03:03:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.997
X-Spam-Status: No, score=-9.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-2.996, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 8XvdQZ7zTeLi for <>; Sat, 15 Oct 2016 03:03:05 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 9B5571296E0 for <>; Sat, 15 Oct 2016 03:03:05 -0700 (PDT)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1bvLk5-000412-NW for; Sat, 15 Oct 2016 09:59:01 +0000
Resent-Date: Sat, 15 Oct 2016 09:59:01 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1bvLk1-00040H-DW for; Sat, 15 Oct 2016 09:58:57 +0000
Received: from ([]) by with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1bvLk0-0004KV-0s for; Sat, 15 Oct 2016 09:58:56 +0000
Received: by with SMTP id q7so90167690qtq.1 for <>; Sat, 15 Oct 2016 02:58:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Avn0axmaROJI9/q36HE1lK5IY8eFfoHgByZ0lWf9oTE=; b=E9WQTQ0E6CNn8/IfvkxoCL+vbGzx83gJfaNG7WhialLzVrP9F952dftycVW7uA3CYF XAG6jz5s+LloliQ6iDiuX3TRyAAsEIU98XFA3N1BilnxW7MVGJlkQko8eIBFuePjzMMf lE1fBeo1GmNM3SZQHkuFjXEoOsCGkqO241L7jdyKE/Y7YIjBy7jqgKIl6wCggSMcJt4q 8Z6IQf73BD0FTHnu71CH+4nXAAARvn4cqODhvW/btXq1ELRaBsuP56g/EHUa9ZfGm9wL li0qBTxDwLysQWdMDIHsMt/REhAVOWrfDBd8i7eyIl6b1lEdzxOxSccer0Dgf9FB7e/f QgBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Avn0axmaROJI9/q36HE1lK5IY8eFfoHgByZ0lWf9oTE=; b=JXWGUQo/dj5VAgoII1rpH2XYYfkLb01SPPICOJH+WttT2o6IxsL2ZmL6Okn0PjAT+f OTXlte/zck49s0Iy9gWfc+Ii+ZY00n3VypPUbV+IkExD7pyG03vN2OB72YPtTP9XMLJo gPiOEFes4W6fGuFdTeENSluvVZTv+8j4kJACcpohQlb00qKpeorehKvTRA2YczKb5m+B Ely3SaKYit0xlGclQMnFLfg82zYjOlWsUQdRkKeonPMuMNntWz/MtkUds29jV809/bJK uy206HA7f0gDEfQHGRuZDMsxQm9bdSzC3tdvSGZELJiJFxu/WJwlzWN1qit9/VMlPX/L zwBA==
X-Gm-Message-State: AA6/9RkFk4JUlUFFHFU0a0Da+keDfAKEp4lld/PFEF6mwoh9vkwHgFOEJdzyorMBkIpH7nxsyDfEiwKuwxrTGQ==
X-Received: by with SMTP id p39mr16503622qta.32.1476525510166; Sat, 15 Oct 2016 02:58:30 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Sat, 15 Oct 2016 02:58:29 -0700 (PDT)
In-Reply-To: <>
References: <> <>
From: Martin Thomson <>
Date: Sat, 15 Oct 2016 20:58:29 +1100
Message-ID: <>
To: Poul-Henning Kamp <>
Cc: Matt Menke <>, HTTP Working Group <>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-6.4
X-W3C-Hub-Spam-Report: AWL=0.332, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1bvLk0-0004KV-0s b302d59665d044e1febf12ce49dbabe5
Subject: Re: draft-ietf-httpbis-jfv: what's next
Archived-At: <>
X-Mailing-List: <> archive/latest/32601
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On 15 October 2016 at 20:41, Poul-Henning Kamp <> wrote:
> Looking forward, if we want to be able to use CS to build H3
> compression, we cannot allow CS headers with format errors.

I tend to agree with this, though there are levels of format errors.
For instance, if you use the >< notation and the < is absent, that's a
flat parse error (I would argue that the < is redundant actually, save
an octet).  But as you say, use of an unknown Content-Encoding is a
semantic-level failure that the parser can't be expected to handle.
Besides, we have to allow for extension in values, and that's hard.

But what I think that Matt is looking for is a grammar that supports
an in-band signal about type so that syntax checking can be done by
the parser (and not by the semantics layer).  That - to me - seems
like a pretty reasonable request.  That means that you get a level of
generic validation.  Based on what you have, you could reduce this to
string/number, but I think that you could be a tiny bit more
adventurous (and include date and binary for starters).

I agree that going any non-trivial distance down this path is a
crapshoot.  The need for rules - or at least any consistency - rapidly
evaporates.  But there is a modicum of value in being able to
distinguish type, if only to allow for the use of better types in that
datastructure you talk about.