Re: The use of binary data in any part of HTTP 2.0 is not good

William Chan (陈智昌) <willchan@chromium.org> Mon, 21 January 2013 00:08 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 5998A21F868D for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 20 Jan 2013 16:08:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.078
X-Spam-Level:
X-Spam-Status: No, score=-7.078 tagged_above=-999 required=5 tests=[FM_FORGED_GMAIL=0.622, 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 KLJZPay5bXYl for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 20 Jan 2013 16:08:14 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 994F221F8686 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 20 Jan 2013 16:08:14 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1Tx4vM-0004cw-Gw for ietf-http-wg-dist@listhub.w3.org; Mon, 21 Jan 2013 00:07:40 +0000
Resent-Date: Mon, 21 Jan 2013 00:07:40 +0000
Resent-Message-Id: <E1Tx4vM-0004cw-Gw@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <willchan@google.com>) id 1Tx4vH-0004cG-Es for ietf-http-wg@listhub.w3.org; Mon, 21 Jan 2013 00:07:35 +0000
Received: from mail-qc0-f182.google.com ([209.85.216.182]) by lisa.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <willchan@google.com>) id 1Tx4vG-0001LL-Mk for ietf-http-wg@w3.org; Mon, 21 Jan 2013 00:07:35 +0000
Received: by mail-qc0-f182.google.com with SMTP id k19so3500621qcs.13 for <ietf-http-wg@w3.org>; Sun, 20 Jan 2013 16:07:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Ri3Qx5nGSNf16N8dVS0lJ2sdQeI5qJnsWJmQv+uClsU=; b=SoHHAABAtd4UwIWJcl73NHDh971DHzOX/oj3HznLBuGvLELfnHmShp3rSxN+KOvsaG 8t/rtuW7+4rCt7mYQUuJDs+bPvaKTimrR9jMW6kobQjmeQRZeBRvtWG1DGjMFpxyXihu mpmLAhLvCeBSMTVBh0/9BgmOAHZjGPZclBeKKfbhtJobxhDZezDHgfVCm1E5jME9DAzY Fs8Y/mqKIXqS7sp38BlZK+0Ei7xmlmv4ze7VkYMpRdRkkBfArmkmgjz6jDhnhKRyTLcG GEGKCja52WJCO0hspc7eicp440CDiJQA1PO2qhIwfEMtfOETpUBjkq09o7TzD0on6INr ghtQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Ri3Qx5nGSNf16N8dVS0lJ2sdQeI5qJnsWJmQv+uClsU=; b=ePbZg7GyhaqnRVvEqj9HRlv1/KSe7yz+ktXvc4BXI+Nzh8V4yHxZjyzJ53aeuBYE3M JrMFJG5nGuA/l38kI+MESnZtsVmK8QzYthXURg+aG5OQIscjo4Yvns/XlgAzd7FROAMM 0T+IZO6tsZvlgnT4cBpJab0BrTGcIL7IBo6M4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding:x-gm-message-state; bh=Ri3Qx5nGSNf16N8dVS0lJ2sdQeI5qJnsWJmQv+uClsU=; b=cFbv8l+t0ZJHT9OutNFnce4A+WdwiXsM5Q7/0xXBSZ08X4bZOSCMWxDt3HrqMnpdNm gKxK78sQVeoU2v3ffc3JV1xN4JLllG2aFFLEE85bXKCGyieUemBByMbkaUBbEc2mBDv+ +7kaZ12m3C3WmtkTFIql6PO4fS+YmR+MIRSNPL1QQveJcYm0c+cbF+V6L3EG6IakcalU G2YnJySYbWDKgGUX5grBEzK9pEcHPQqwVHYeJRhkO5HrH8D+dm0p3gcUZKMUtZm62mMs TEoFIPx6taEmrGwSds+kk6WAFRLpe37M741NTBzy4cVQJRPPq/hSRUSeybfjcN8prK4B wuJQ==
MIME-Version: 1.0
X-Received: by 10.224.76.208 with SMTP id d16mr17533033qak.46.1358726828582; Sun, 20 Jan 2013 16:07:08 -0800 (PST)
Sender: willchan@google.com
Received: by 10.229.57.163 with HTTP; Sun, 20 Jan 2013 16:07:08 -0800 (PST)
In-Reply-To: <CAK3OfOiXsjKeuwmX+1JuNL7u8fceQxY0nczjy=6HiBWpgVqYxA@mail.gmail.com>
References: <CAAZO4q4vEiYhH5FaX2XCxXox9jkf4dLTy8coQZiE+CYHA-QzBg@mail.gmail.com> <CAA4WUYhkVBRAyY1O32aOiWB8=46SBidFOjKH+e7PGbB7mKzmiQ@mail.gmail.com> <DC03C924-9DCC-45CE-B9DB-5906EADAF9C4@mnot.net> <CAHBU6iuaeAeTrz6TSOyhNvW2pXWgQB_RQ+6MYAb9DyJUZ00Rcg@mail.gmail.com> <CABP7Rbdft=ukmL+vgyJtSTRSVytxMFkX6ctqhqhJ2Njw_OLr1g@mail.gmail.com> <CAA4WUYjyX2QkrfB5Sj8_vyyQuC6Ftx7XsvF+om66D6=EU5V5Qg@mail.gmail.com> <CAK3OfOiXsjKeuwmX+1JuNL7u8fceQxY0nczjy=6HiBWpgVqYxA@mail.gmail.com>
Date: Sun, 20 Jan 2013 16:07:08 -0800
X-Google-Sender-Auth: 5VO7bYyRgnkO3vCHW2be6u_8lZo
Message-ID: <CAA4WUYh46zTHXY_gYCsmVgFa1UdE85yUnzkVMO6AmVOrP1_4rA@mail.gmail.com>
From: "William Chan (陈智昌)" <willchan@chromium.org>
To: Nico Williams <nico@cryptonector.com>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Gm-Message-State: ALoCoQl2JcHbUbS266lnFFFHFUHCQvWpJN/KMUL9ObYuze5oT9mhXNdCGzaNaPEa2tru/Ucal+9O5YZWph/xKBK/dvVOD50sS69bbGdURJRR33SGMLdE9J8w/i8/s7o4rD9+WHD3zYdypMOJ02h1K4lhQPZ7GiBpDU1q7O3maZuPvqIRrhbviDO+jcZjDUaZEKtiExqF3GU5
Received-SPF: pass client-ip=209.85.216.182; envelope-from=willchan@google.com; helo=mail-qc0-f182.google.com
X-W3C-Hub-Spam-Status: No, score=-4.1
X-W3C-Hub-Spam-Report: AWL=-1.375, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1Tx4vG-0001LL-Mk e575c7dfabf994c8db6e678a6f8f6597
X-Original-To: ietf-http-wg@w3.org
Subject: Re: The use of binary data in any part of HTTP 2.0 is not good
Archived-At: <http://www.w3.org/mid/CAA4WUYh46zTHXY_gYCsmVgFa1UdE85yUnzkVMO6AmVOrP1_4rA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/16066
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>

I'd like to point out it seems highly likely you misread my email.
When I said the same, I was referring to bohe and header compression
from a human's perspective. You may want to read earlier on in the
email thread where I was one of the first to respond saying:

"There are many advantages to using binary data. If you would like a
textual representation of a protocol, I advise using a utility to
generate one for you."

and also recommended debugging utilities like spdyshark and spdycat as
examples of what we've done with SPDY.

On Sun, Jan 20, 2013 at 4:01 PM, Nico Williams <nico@cryptonector.com> wrote:
> On Sun, Jan 20, 2013 at 5:48 PM, William Chan (陈智昌)
> <willchan@chromium.org> wrote:
>> [...] Yes, maybe some humans will internalize a binary encoding of
>> headers and be able to grok hexdumps, but to the vast majority of
>> people, it's basically the same.
>
> Nah, we have plenty of packet capture parsers (Netmon, Wireshark,
> tcpdump, snoop, ...).  Wireshark, in particular, is very easy to write
> new plugins for, and it's portable.
>
> I'm with Roberto too: it's not really true that textual protocols are
> easier to debug, at least not now that we have extensible packet
> capture inspection tools.  Further, textual protocols may inhibit the
> creation of dissectors for them ("it's text already, what you do need
> a dissector for?"), which makes them harder to inspect than binary
> protocols.
>
> We can probably apply a lot of minimal encodings of header values (and
> header names) in a textual way, but the result would be nearly as
> incomprehensible (without tools) to a human as a hex dump of a binary
> protocol.  So merely trying to do as best as we can while retaining a
> textual nature seems likely to lead to either few gains or a protocol
> that's as [in]scrutable as a binary version.
>
> Finally, as others have pointed out, human-readable textual protocols
> are likely to allow lots of variations that complicate parsers, thus
> being a cause of bugs.
>
> Nico
> --