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

"Adrien W. de Croy" <adrien@qbik.com> Mon, 21 January 2013 00:07 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 7E99C21F868D for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 20 Jan 2013 16:07:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.775
X-Spam-Level:
X-Spam-Status: No, score=-7.775 tagged_above=-999 required=5 tests=[AWL=-0.075, 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 3Lxt8Xskgp3n for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 20 Jan 2013 16:07:00 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 5168721F8686 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 20 Jan 2013 16:07:00 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1Tx4u9-0004PZ-6O for ietf-http-wg-dist@listhub.w3.org; Mon, 21 Jan 2013 00:06:25 +0000
Resent-Date: Mon, 21 Jan 2013 00:06:25 +0000
Resent-Message-Id: <E1Tx4u9-0004PZ-6O@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <adrien@qbik.com>) id 1Tx4u5-0004Og-Br for ietf-http-wg@listhub.w3.org; Mon, 21 Jan 2013 00:06:21 +0000
Received: from smtp.qbik.com ([210.55.214.35]) by maggie.w3.org with esmtp (Exim 4.72) (envelope-from <adrien@qbik.com>) id 1Tx4u4-0001VT-3t for ietf-http-wg@w3.org; Mon, 21 Jan 2013 00:06:21 +0000
Received: From [192.168.0.10] (unverified [192.168.0.10]) by SMTP Server [192.168.0.1] (WinGate SMTP Receiver v7.5.0 (Build 3481)) with SMTP id <0019475282@smtp.qbik.com>; Mon, 21 Jan 2013 13:07:31 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "William Chan (陈智昌)" <willchan@chromium.org>, Mark Nottingham <mnot@mnot.net>
Cc: Pablo <paa.listas@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Date: Mon, 21 Jan 2013 00:05:28 +0000
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; format="flowed"; charset="utf-8"
In-Reply-To: <CAA4WUYiPRpm0OWesf5wTGLX--HWtDmgjFr+wSEEVr-beH8J=qw@mail.gmail.com>
Message-Id: <em21210af6-9780-4ccc-985d-babf647b9a51@bombed>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/5.0.17263.0
Received-SPF: pass client-ip=210.55.214.35; envelope-from=adrien@qbik.com; helo=smtp.qbik.com
X-W3C-Hub-Spam-Status: No, score=-4.2
X-W3C-Hub-Spam-Report: AWL=-2.307, BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1Tx4u4-0001VT-3t 96c852d11116ad7f401b749f1712cd56
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/em21210af6-9780-4ccc-985d-babf647b9a51@bombed>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/16064
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>

  Hi

------ Original Message ------
From: "William Chan (陈智昌)" <willchan@chromium.org>
>Maybe it falls upon me to be the voice of concern here :) Depending on
>what a "debug" option entails, I'm worried about it being used to
>disable a performance feature. As an example of how options can be
>dangerous, we've seen intermediaries that strip out Accept-Encoding
>headers in order to force responses to be uncompressed (probably so
>they can inspect the payloads more easily/cheaply), which is an issue
>from a web performance perspective.
guilty as charged.  we don't do that any more.

>
>Back to the use case, if you're in a position to use the debug option,
>is it likely that you would not also be in a position to capture
>enough to decode? I'd like to understand the use case so I can
>properly weigh the benefit of such an option, in contrast to the cost
>that I highlighted above.

often one is dealing with a customer who you can reasonably expect to be 
capable enough to click a checkbox and send you a file, but maybe not to 
install a packet capturing utility, set up filters etc etc.  Maybe even 
not permitted to install e.g. wireshark.

I agree in most cases, ability to select debug and try a problem case 
would come along with an ability to capture enough packets.

So I guess it's a small use-case in that instance.

I can imagine other areas where reducing all messages to a single frame 
could be useful, like debugging issues with load balancers or http 
routers which may be switching frames incorrectly.

In short, we can't know all the issues we may come up against.

Adrien


>
>On Sun, Jan 20, 2013 at 3:48 PM, Mark Nottingham <mnot@mnot.net> wrote:
>>
>>  On 21/01/2013, at 10:38 AM, "Adrien W. de Croy" <adrien@qbik.com> 
>>wrote:
>>
>>>
>>>  the thing that will make debugging harder won't be binary vs text, 
>>>but the inter-dependence of messages. Especially when it comes to 
>>>looking through debug logs for issues.
>>>
>>>  On-the-wire, you already need to piece together a TCP stream to see 
>>>what's going on, so having http messages effectively split over 
>>>multiple frames (e.g. delta encoding, or compression) only becomes a 
>>>problem when you don't capture enough to decode.
>>>
>>>  I think it might be worth-while specifying a requirement for a 
>>>"debug" option for senders of binary messages which turns off all 
>>>other optimisations, such as caching unchanged headers etc (so they 
>>>are sent every time). Just an idea.
>>
>>  That's been brought up a few times, and the reaction has been pretty 
>>positive.
>>
>>  Cheers,
>>
>>
>>  --
>>  Mark Nottingham http://www.mnot.net/
>>
>>
>>