W3C home > Mailing lists > Public > ietf-http-wg@w3.org > January to March 2013

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

From: Eliot Lear <lear@cisco.com>
Date: Mon, 21 Jan 2013 10:15:33 +0100
Message-ID: <50FD0735.6090904@cisco.com>
To: Roberto Peon <grmocg@gmail.com>
CC: Tim Bray <tbray@textuality.com>, Will Chan <willchan@chromium.org>, Mark Nottingham <mnot@mnot.net>, HTTP Working Group <ietf-http-wg@w3.org>, Pablo <paa.listas@gmail.com>
Let's separate the general case from this one.  In the general case,
interoperability can be helped with text you don't need a library to
interact the other endpoint.  You just need fingers and telnet.  To
underestimate that value is to I think misunderstand the history of some
of our success.  Early movement to ASN.1 for so-called ease of parsing
by computers and performance led to practically a SINGULAR
implementation of the encode/decode rules, which in turn led to a
horrendous security mess in 2002.

HTTP may require compression and performance improvement; we'll see, I
suppose.  Certainly it's vastly more complex than SMTP, requiring not
just a simple capabilities exchange and then a transaction, but quite a
bit more interpretation of results by both parties.  The struggle we
have before us is whether the ecosystem can or should move over, based
on such a low level change.  If it leads to a small number of encoders
and decoders, surely that would be bad.

Eliot


On 1/21/13 12:47 AM, Roberto Peon wrote:
>
> Text formats are, surprisingly, not easier to debug in my experience.
>
> Admittedly, they only require a text editor to examine, but, for a
> binary protocol, that is easy to remedy with a short utility. The
> ambiguity of how to parse that text format, however makes this
> examination more time consuming and error prone.
>
> In terms of total complexity, binary framed protocols are often far
> simpler, and thus more robust. In terms of total lines of code, a
> binary framer plus utility to present the data in human readable
> format is still less complex and smaller than most text framed
> protocols. In terms of CPU consumption, binary framed protocols are
> often faster.
>
> If you'd like to make a fast http parser, I'm happy to give you a
> binary framed version which will be significantly faster, smaller in
> lines of code, and more memory efficient.
>
> -=R
>
> On Jan 20, 2013 3:26 PM, "Tim Bray" <tbray@textuality.com
> <mailto:tbray@textuality.com>> wrote:
>
>     Would it be possible to be data-driven?  Textual formats are
>     well-known to be easier to debug; but clearly, if there’s a
>     substantial performance benefit to going all-binary, so be it. So what
>     is the advantage, quantitatively? -T
>
>     On Sun, Jan 20, 2013 at 3:04 PM, Mark Nottingham <mnot@mnot.net
>     <mailto:mnot@mnot.net>> wrote:
>     > In one of our recent meetings, one of the grey-bearded IETF
>     old-timers (I forget which, sorry) said that a textual-protocol
>     was a nice-to-have, but that it shouldn't be a determining factor
>     in design.
>     >
>     > I.e., if you can get everything you need out of a protocol,
>     *and* make it textual, do so, but if it detracts from the value
>     you get from it, don't let that constrain you.
>     >
>     > FWIW, I think that's a good rule of thumb. However, this means
>     that the community is going to need *excellent* tooling for
>     analysing, debugging, etc. HTTP traffic; and I don't just mean a
>     Wireshark plugin!
>     >
>     > Cheers,
>     >
>     >
>     > On 21/01/2013, at 9:36 AM, William Chan (陈智昌)
>     <willchan@chromium.org <mailto:willchan@chromium.org>> wrote:
>     >
>     >> 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.
>     >>
>     >> On Sun, Jan 20, 2013 at 2:20 PM, Pablo <paa.listas@gmail.com
>     <mailto:paa.listas@gmail.com>> wrote:
>     >>> Hello,
>     >>>
>     >>>   I have readed this document
>     >>>
>     http://dev.chromium.org/spdy/spdy-protocol/spdy-protocol-draft1
>     today [1].
>     >>>
>     >>> I just wanted to say that I think that the use of any binary
>     data (framing,
>     >>> header compression, etc.) in any place of the "header" part of
>     HTTP protocol
>     >>> is not good; so, please only use plaintext for HTTP 2.0
>     because, otherwise,
>     >>> that will make very difficult to "see" the headers's protocol :)
>     >>>
>     >>> Thats all,
>     >>> Thanks for reading this few lines, sorry for my basic English,
>     and I hope
>     >>> that you can re-think all this of using binary data in any
>     part of HTTP X.X
>     >>> (ej: session layer).
>     >>>
>     >>>
>     >>> [1] I started knowing about HTTP 2.0 here:
>     >>>
>     http://webscannotes.com/2012/10/09/http-2-0-officially-in-the-works/
>     >>>
>     >>
>     >
>     > --
>     > Mark Nottingham   http://www.mnot.net/
>     >
>     >
>     >
>     >
>
Received on Monday, 21 January 2013 09:16:04 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 21 January 2013 09:16:10 GMT