Re: #225: JFV Revisited

"Poul-Henning Kamp" <phk@phk.freebsd.dk> Thu, 11 August 2016 07:54 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@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 BC6EF12D537 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 11 Aug 2016 00:54:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.168
X-Spam-Level:
X-Spam-Status: No, score=-8.168 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.247, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 wwQRWn8AoR70 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 11 Aug 2016 00:54:48 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DE63312D1EA for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 11 Aug 2016 00:54:47 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1bXkl5-00020Y-A9 for ietf-http-wg-dist@listhub.w3.org; Thu, 11 Aug 2016 07:50:31 +0000
Resent-Date: Thu, 11 Aug 2016 07:50:31 +0000
Resent-Message-Id: <E1bXkl5-00020Y-A9@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <phk@phk.freebsd.dk>) id 1bXkky-0001zU-1K for ietf-http-wg@listhub.w3.org; Thu, 11 Aug 2016 07:50:24 +0000
Received: from phk.freebsd.dk ([130.225.244.222]) by lisa.w3.org with esmtp (Exim 4.80) (envelope-from <phk@phk.freebsd.dk>) id 1bXkku-0004jq-AL for ietf-http-wg@w3.org; Thu, 11 Aug 2016 07:50:23 +0000
Received: from critter.freebsd.dk (unknown [192.168.55.3]) by phk.freebsd.dk (Postfix) with ESMTP id 4C416273C0; Thu, 11 Aug 2016 07:49:57 +0000 (UTC)
Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.15.2/8.15.2) with ESMTP id u7B7ns5I082682; Thu, 11 Aug 2016 07:49:54 GMT (envelope-from phk@phk.freebsd.dk)
To: Mark Nottingham <mnot@mnot.net>
cc: HTTP Working Group <ietf-http-wg@w3.org>, Ilya Grigorik <igrigorik@gmail.com>
In-reply-to: <64A60DE8-C2DD-4F61-89D7-EF5449E1F29E@mnot.net>
From: Poul-Henning Kamp <phk@phk.freebsd.dk>
References: <64A60DE8-C2DD-4F61-89D7-EF5449E1F29E@mnot.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-ID: <82680.1470901794.1@critter.freebsd.dk>
Content-Transfer-Encoding: quoted-printable
Date: Thu, 11 Aug 2016 07:49:54 +0000
Message-ID: <82681.1470901794@critter.freebsd.dk>
Received-SPF: none client-ip=130.225.244.222; envelope-from=phk@phk.freebsd.dk; helo=phk.freebsd.dk
X-W3C-Hub-Spam-Status: No, score=-5.6
X-W3C-Hub-Spam-Report: AWL=-1.188, BAYES_00=-1.9, RP_MATCHES_RCVD=-0.519, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1bXkku-0004jq-AL 7846d27092891cf00a9ad11b0ea8df83
X-Original-To: ietf-http-wg@w3.org
Subject: Re: #225: JFV Revisited
Archived-At: <http://www.w3.org/mid/82681.1470901794@critter.freebsd.dk>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32253
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>

--------
In message <64A60DE8-C2DD-4F61-89D7-EF5449E1F29E@mnot.net>, Mark Nottingham writes:
>For those not following the issues list closely, Ilya is wondering =
>whether browsers' implementation of ECMA-262 changes things for JFV:
>
>  https://github.com/httpwg/http-extensions/issues/225
>
>Thoughts (here or there)?

<RANT>

  "it's not clear if and when such a format will come either…"

Please!

Can we stop the "WE NEED IT YESTERDAY!!" insanity and spend the
tiny amount of extra time it takes to not do half-assed jobs ?

At the workshop we heard a litany of "ohh..." regrets about H2, the
majority of which were raised before ratification, but steam-rolled
over because "we don't have time for that!"

There will not be any relevant or significant difference in how
long time it would take to get a header-JSON RFC out compared to
one based on my "common structure" brain-storming or for that matter
any third candidate starting from some other point:  The thing which
takes time is for people to pay attention and make up their mind,
not the actual writing and implementation work.

</RANT>

With that out of the way, I am still struggling to find out what
problem we are trying to solve here?

Is it:

A) Allow people to use (restricted) JSON in headers, because people
   want to use JSON in headers (and will do it anyway).

Or is it:

B) Try to make headers more compute-efficient in preparation for
   future 100+Gbit/s speeds.

Or is it both ?

If it is only A), then we just need to pick a restricted JSON syntax.

(Of course we all know that the restrictions will be ignored in
practice:  "If it looks like JSON and it parses like JSON..." so
it is not entirely obvious that the restrictions are really worth
much effort on our part.)

If A) is not a hard requirement, then we should ditch JSON,
which is a square peg for many of our round holes, and instead
do something along the lines of my "common structure" brain-storm,
where we generalizes existing syntax and thus simplify things,
instead of adding yet another parser with pre-known issues.

We can of course have both, but that means we have to think much
harder about where we allow JSON and be more restrictive about the
JSON subsetting than we would need to in the A-only case.

So it seems to me that the question we need to settle is:

  Is being (a subset of) JSON a hard requirement ?

I vote "No".

Show of hands please...

Poul-Henning

-- 
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.