Re: If not JSON, what then ?

Willy Tarreau <w@1wt.eu> Mon, 01 August 2016 10:50 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 28F3212D626 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 1 Aug 2016 03:50:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.208
X-Spam-Level:
X-Spam-Status: No, score=-8.208 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.287, 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 BuD_kZAPrMpT for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 1 Aug 2016 03:50:52 -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 E59DC12D61F for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 1 Aug 2016 03:50:51 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1bUAkD-00075k-S8 for ietf-http-wg-dist@listhub.w3.org; Mon, 01 Aug 2016 10:46:49 +0000
Resent-Date: Mon, 01 Aug 2016 10:46:49 +0000
Resent-Message-Id: <E1bUAkD-00075k-S8@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <w@1wt.eu>) id 1bUAk9-000749-Vl for ietf-http-wg@listhub.w3.org; Mon, 01 Aug 2016 10:46:46 +0000
Received: from wtarreau.pck.nerim.net ([62.212.114.60] helo=1wt.eu) by maggie.w3.org with esmtp (Exim 4.80) (envelope-from <w@1wt.eu>) id 1bUAk6-0001rx-V2 for ietf-http-wg@w3.org; Mon, 01 Aug 2016 10:46:45 +0000
Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id u71Ai5DK022804; Mon, 1 Aug 2016 12:44:05 +0200
Date: Mon, 01 Aug 2016 12:44:05 +0200
From: Willy Tarreau <w@1wt.eu>
To: Poul-Henning Kamp <phk@phk.freebsd.dk>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Message-ID: <20160801104405.GA22799@1wt.eu>
Reply-To: HTTP Working Group <ietf-http-wg@w3.org>
References: <77778.1470037414@critter.freebsd.dk> <20160801085743.GB22715@1wt.eu> <84604.1470045445@critter.freebsd.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <84604.1470045445@critter.freebsd.dk>
User-Agent: Mutt/1.6.0 (2016-04-01)
Received-SPF: pass client-ip=62.212.114.60; envelope-from=w@1wt.eu; helo=1wt.eu
X-W3C-Hub-Spam-Status: No, score=-5.5
X-W3C-Hub-Spam-Report: AWL=-0.574, BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1bUAk6-0001rx-V2 409d5fff42074cef50d7fafa073b2dfe
X-Original-To: ietf-http-wg@w3.org
Subject: Re: If not JSON, what then ?
Archived-At: <http://www.w3.org/mid/20160801104405.GA22799@1wt.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32113
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 Mon, Aug 01, 2016 at 09:57:25AM +0000, Poul-Henning Kamp wrote:
> --------
> In message <20160801085743.GB22715@1wt.eu>, Willy Tarreau writes:
> 
> >That made me think that most of the header fields I'm seeing do not use
> >non-ascii characters at all, I'd even say non-printable-ascii. Most of
> >them contain :
> >  - host names (Host)
> >  - uris (Referer, Location)
> >  - user-agent strings (UA)
> >  - tokens (Connection, Accept, ...)
> >  - numbers
> >
> >Thus in fact I'm wondering if it's really worth focusing the efforts on
> >non-ascii strings instead.
> 
> My take is that the data-model and serialization should be general
> and unconstrained, and the constraints be applied in a/the schema
> for each individual header.

But we're talking about protocol efficiency as well, which passes via
taking into account what we have. We could for example consider the
notion of "extended strings" which are only used for header fields
which are not relevant to the protocol itself (eg: not used in
accept/range/connection/...) and which would allow unicode to be
safely transmitted. It might be used for user-agent if needed.

Willy