Re: [hybi] SPDY protocol from google frame

Greg Wilkins <gregw@webtide.com> Fri, 13 November 2009 02:53 UTC

Return-Path: <gregw@webtide.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 B08403A68D6 for <hybi@core3.amsl.com>; Thu, 12 Nov 2009 18:53:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.455
X-Spam-Level:
X-Spam-Status: No, score=-2.455 tagged_above=-999 required=5 tests=[AWL=0.144, BAYES_00=-2.599]
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 iII9MiEiR9ES for <hybi@core3.amsl.com>; Thu, 12 Nov 2009 18:53:01 -0800 (PST)
Received: from ey-out-2122.google.com (ey-out-2122.google.com [74.125.78.27]) by core3.amsl.com (Postfix) with ESMTP id 8AA133A69F8 for <hybi@ietf.org>; Thu, 12 Nov 2009 18:53:01 -0800 (PST)
Received: by ey-out-2122.google.com with SMTP id 9so794343eyd.51 for <hybi@ietf.org>; Thu, 12 Nov 2009 18:53:27 -0800 (PST)
Received: by 10.213.100.161 with SMTP id y33mr2866279ebn.2.1258080807424; Thu, 12 Nov 2009 18:53:27 -0800 (PST)
Received: from ?10.10.1.9? (60-242-119-126.tpgi.com.au [60.242.119.126]) by mx.google.com with ESMTPS id 7sm412509eyb.8.2009.11.12.18.53.23 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 12 Nov 2009 18:53:26 -0800 (PST)
Message-ID: <4AFCCA1D.4020308@webtide.com>
Date: Fri, 13 Nov 2009 11:53:17 +0900
From: Greg Wilkins <gregw@webtide.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
MIME-Version: 1.0
To: Roberto Peon <fenix@google.com>
References: <4AFC869C.9090403@webtide.com> <F4C6CDAD-1ABE-4A2A-A65B-0C8EEA95D90B@surrey.ac.uk> <4AFC9936.8090007@webtide.com> <803EA6E6-F94E-4F8D-9026-86C6EB33422A@icesoft.com> <3a880e2c0911121751q22b3929bwc5d7dbcaa0731226@mail.gmail.com> <ad99d8ce0911121757k4b4a3722h21ad9febe4024384@mail.gmail.com>
In-Reply-To: <ad99d8ce0911121757k4b4a3722h21ad9febe4024384@mail.gmail.com>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] SPDY protocol from google frame
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: Fri, 13 Nov 2009 02:53:02 -0000

Firstly it is really great that the SPDY guys are reading this
list!   I have some questions for you below after my own little
rant (haven't had a rant for a week or two... withdrawal)


<rant>
  As somebody who has implement both HTTP and several ss7 related
  telecommunications protocols - I can definitely say that I can see
  the benefits of both points of view.

  Unfortunately websocket has been designed (IMNSHO) to capture
  the worse aspects of both.

  It does not have the ease of debugging of a text protocol, yet it
  does not have the predictability or security from injection that
  you get with binary protocols that have fixed header sizes.

  Instead we have this strange mix of two types of framing - both
  sentinel based.  One looks for a sentinel byte to mark the end
  of the frame and the other looks for a sentinel bit to mark the
  end of the frame length.
</rant>


However, to be more constructive:  The IETF is very likely
to form a WG that is focused on standardizing websocket.

One of the things I would very much like that WG to achieve
is a rationalization of the framing in Websocket to
a fixed length length prefix (double 'length' is deliberate).

IF (big IF) this was achieved - it was my intention to
redo the BWTP proposal as something that could be carried
over websocket framing.

Would the google SPDY folks be interested in doing the same
with their protocol.   If so, I'd be very much inclined to
combine the efforts as the efforts are very similar?

I think that having something with the advance semantics of
HTTP that can be carried over a bidirectional transport
with reduced header overheads would be absolutely awesome
(although I'd advocate having channel header defaults
as in BWTP rather than scary gzipped headers - but minor point).

Since there is some convergence of efforts around websocket,
it would be a real pity if a) we could not make it's framing
acceptable to more efforts; b) other efforts duplicated the
work needed to get browser/intermediaries/servers to accept
a new transport.


cheers










































Roberto Peon wrote:
> Having implemented the HTTP framing library that Google uses (yes I'm
> one of the SPDY guys), I can say that I absolutely hate dealing with
> non-length prefixed protocols.
> With HTTP, I don't know how much to allocate, I have to scan
> byte-by-byte for boundaries, and when dealing with text.. and worse,
>  you get into all sorts of fun ambiguities about what is allowed (e.g.
> is a newline allowed in quoted text?)
> Some of that was addressed with HTTPbis, but it is no fun whatsoever
> dealing with header-injection where unknown people can change your framing. 
> 
> For my sanity, security, and for significantly better performing
> proxies, I prefer length prefixing! :)
> -=R