Re: [hybi] Extensibility mechanisms?

Scott Ferguson <ferg@caucho.com> Thu, 22 July 2010 20:04 UTC

Return-Path: <ferg@caucho.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9C8513A687A for <hybi@core3.amsl.com>; Thu, 22 Jul 2010 13:04:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.965
X-Spam-Level:
X-Spam-Status: No, score=-1.965 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, J_CHICKENPOX_33=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id opVUMFILdbLy for <hybi@core3.amsl.com>; Thu, 22 Jul 2010 13:04:46 -0700 (PDT)
Received: from smtp113.biz.mail.sp1.yahoo.com (smtp113.biz.mail.sp1.yahoo.com [69.147.92.226]) by core3.amsl.com (Postfix) with SMTP id C5C073A6846 for <hybi@ietf.org>; Thu, 22 Jul 2010 13:04:46 -0700 (PDT)
Received: (qmail 21292 invoked from network); 22 Jul 2010 20:05:02 -0000
Received: from [192.168.1.11] (ferg@66.92.8.203 with plain) by smtp113.biz.mail.sp1.yahoo.com with SMTP; 22 Jul 2010 13:05:01 -0700 PDT
X-Yahoo-SMTP: L1_TBRiswBB5.MuzAo8Yf89wczFo0A2C
X-YMail-OSG: x.4MEEMVM1lNLB5xNSDD3_YvVVjy.BWRtdq6WWCzgYk9nwn cOTPD73q2M0LIsn4dPKcaP5Km0JBZeInjgHH2xgb37oEtLVgG8qzC7sqd.Zp 6lOdqOE6.JCvjAeR7lLyO70xqU3DhT1Tsr4AoGuQiFavWD3HfT9dwOMzn0xT dJetgm5Ed1n6jA94B.bYcF24S.91d5uvABO4MCmSmX1eyxPx77IE4y3UwQbj JsjXQMoLFLRkbxEOkaNHc1GtJ15qijZi3RnnanImPRZvxSP2DPb5X7.iHq5E UXV6pwCL9I19Z3KDrrgH9IOuurH.NCyL74H6wcfNdGaH.mrDAUovbZQ--
X-Yahoo-Newman-Property: ymail-3
Message-ID: <4C48A468.3040009@caucho.com>
Date: Thu, 22 Jul 2010 13:04:56 -0700
From: Scott Ferguson <ferg@caucho.com>
User-Agent: Thunderbird 2.0.0.24 (X11/20100411)
MIME-Version: 1.0
To: Adam Barth <ietf@adambarth.com>
References: <h2w5c902b9e1004152345j992b815bz5f8d38f06a19181a@mail.gmail.com> <4BCB7829.9010204@caucho.com> <Pine.LNX.4.64.1004182349240.751@ps20323.dreamhostps.com> <4BCC0A07.9030003@gmx.de> <Pine.LNX.4.64.1004190753510.23507@ps20323.dreamhostps.com> <4BCC111C.90707@gmx.de> <Pine.LNX.4.64.1004190837570.23507@ps20323.dreamhostps.com> <4BCC204D.30004@gmx.de> <z2gad99d8ce1004190822ne4dd36b6v54d63efcc448e840@mail.gmail.com> <Pine.LNX.4.64.1007202204270.7242@ps20323.dreamhostps.com> <AANLkTikkfdlUxQ0MGNvVQKa5gfovkGHWdCgyN9juKSQJ@mail.gmail.com> <4C462F9E.9030207@caucho.com> <Pine.LNX.4.64.1007212153110.7242@ps20323.dreamhostps.com> <AANLkTiku76oSucTNDFdwgsFBNFa_cCpC-YktTnMfX47-@mail.gmail.com> <4C479130.4020500@caucho.com> <AANLkTikLDjBP-Xs5t6TxmJuq4nG8jwThQ=n34B4cEmup@mail.gmail.com> <4C479CE4.6070805@caucho.com> <AANLkTims1er0Rbv0ysP4gRs1Kd0He8hapHeJ3nON=JQa@mail.gmail.com> <4C47C5B0.3030006@caucho.com> <AANLkTi=ND-FOH8OoD=TCbiyeSZ-h0LhxQBXN5w-2hfvj@mail.gmail.com>
In-Reply-To: <AANLkTi=ND-FOH8OoD=TCbiyeSZ-h0LhxQBXN5w-2hfvj@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: Hybi <hybi@ietf.org>
Subject: Re: [hybi] Extensibility mechanisms?
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jul 2010 20:04:47 -0000

Adam Barth wrote:
> On Wed, Jul 21, 2010 at 9:14 PM, Scott Ferguson <ferg@caucho.com> wrote:
>   
>> Adam Barth wrote:
>>     
>> I see only 3 possible resolutions:
>>
>>  a) That 1 & 2 are irreconcilable and WebSocket performance must be worse
>> than HTTP/comet because its security must be better than HTTP.
>>     
>
> I don't understand what this means.  How could latency requirements
> for a network protocol be irreconcilable with cross-site scripting?
> The two operate at completely different layers of abstraction.
>   
I meant cross-protocol, of course.

The issue is the number of request/response before the initial payload 
is sent. If we require the client to wait to validate the server before 
it can send its payload, the initial performance will be slower than a 
HTTP POST.

That delay may be perfectly acceptable, but some people have raised it 
as an issue in the group. I'm fine with the delay myself, but I think it 
should be resolved.
>>  b) WebSocket performance must be as good as HTTP/comet as long as its
>> security is no worse than HTTP.
>>     
>
> What does it mean for security to be no worse than HTTP?  
Specifically, the fundamental issue with sending data before the server 
is validated by the client, like HTTP POST.

Is that capability acceptable for WebSockets or not? (I mean in any 
form, my specific proposal is irrelevant.)
> I've already did so back in May:
>
> http://www.ietf.org/mail-archive/web/hybi/current/msg01948.html
>
> This is different from the protocol in the current working draft
> because it requires TLS.  I think TLS+NPN is a much better design than
> the current HTTP-ish design, for the reasons outlined in that email.
> The main (only?) disadvantage is that it requires amateur server
> implementations to use a TLS library.
>   
Well, yes, that certainly addresses the security issue. The open 
question is whether that's acceptable performance-wise. If it is 
acceptable, fine, we're done. (There is the secondary issue of NPN being 
a draft which is an issue with libraries being available in the near term.)
> It's fine to propose designs as food for thought, but claiming that
> you've addressed all the requirements when you haven't even met the
> basic security requirements is a bit brash.
>   
True, and I apologize for that. I was thinking of the binary framing 
requirements that are ignored by the current spec (and are claimed to be 
too complicated), not the handshake requirements that are already 
addressed. I only added the handshake to the draft for completeness 
sake, not because it adds anything new.

-- Scott