Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocketprotocol-01.txt
Ian Fette (イアンフェッティ) <ifette@google.com> Thu, 02 September 2010 16:50 UTC
Return-Path: <ifette@google.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 3F0593A677E for <hybi@core3.amsl.com>; Thu, 2 Sep 2010 09:50:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.138
X-Spam-Level:
X-Spam-Status: No, score=-104.138 tagged_above=-999 required=5 tests=[AWL=1.538, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 DOeSR6TYBbCz for <hybi@core3.amsl.com>; Thu, 2 Sep 2010 09:50:30 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 767333A6816 for <hybi@ietf.org>; Thu, 2 Sep 2010 09:50:29 -0700 (PDT)
Received: from kpbe11.cbf.corp.google.com (kpbe11.cbf.corp.google.com [172.25.105.75]) by smtp-out.google.com with ESMTP id o82GowxZ026424 for <hybi@ietf.org>; Thu, 2 Sep 2010 09:50:58 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1283446258; bh=PEq8amssoGW7sFwDRyJvrBy25wI=; h=MIME-Version:Reply-To:In-Reply-To:References:Date:Message-ID: Subject:From:To:Cc:Content-Type; b=XO46IGt5PrCZe6UkMrrPJ11bucHokOlxFF4P7qh2fhilGHx9JiC/XrCx7PsP0GvVM uxdcoDjdtdRnkjrxuBTag==
Received: from gwj17 (gwj17.prod.google.com [10.200.10.17]) by kpbe11.cbf.corp.google.com with ESMTP id o82GouWK010498 for <hybi@ietf.org>; Thu, 2 Sep 2010 09:50:56 -0700
Received: by gwj17 with SMTP id 17so254200gwj.5 for <hybi@ietf.org>; Thu, 02 Sep 2010 09:50:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=domainkey-signature:mime-version:received:received:reply-to :in-reply-to:references:date:message-id:subject:from:to:cc :content-type; bh=VGpREVBQ1YMd6c6ONM6fKlJflRE6F1bz7kM/MtEDEKI=; b=S22COoRiR8A45IdpH2u2y4OhBxvOFtSKIjwk7Xyc3Da2RoSSy0TenDsWYWAwk6GSJz uuR0lTU1FX/1v2iOnDfA==
DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; b=PUErGC+WT12CoXor30Q80PYpnnhcgK1uoWU+j7Vaz4QeADZjsdSy9X1XPjQjeQl91x SykqP1EEl1eQmxaRgxVA==
MIME-Version: 1.0
Received: by 10.151.154.3 with SMTP id g3mr327765ybo.412.1283446255753; Thu, 02 Sep 2010 09:50:55 -0700 (PDT)
Received: by 10.150.229.7 with HTTP; Thu, 2 Sep 2010 09:50:55 -0700 (PDT)
In-Reply-To: <4C7F8EE7.1040106@opera.com>
References: <20100901224502.0519B3A687C@core3.amsl.com> <4C7F8EE7.1040106@opera.com>
Date: Thu, 02 Sep 2010 09:50:55 -0700
Message-ID: <AANLkTimLAeUeAk1s8FMgLLdYzEg0koLeGfAfHnei34gD@mail.gmail.com>
From: "Ian Fette (イアンフェッティ)" <ifette@google.com>
To: James Graham <jgraham@opera.com>
Content-Type: multipart/alternative; boundary="0015175707f2299cc8048f499edb"
X-System-Of-Record: true
Cc: hybi@ietf.org
Subject: Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocketprotocol-01.txt
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: ifette@google.com
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, 02 Sep 2010 16:50:35 -0000
James - Good feedback, thank you. FWIW I agree with what you said below, but I expect that we will flush out details once we have agreement on the base framing. In putting this together my primary concern was to get an updated draft that reflected the recent framing discussions so that we can settle that issue. Once we have some reasonable level agreement that yes, this framing is correct, then I think we can fully specify (with MUSTs) behaviour in all of the circumstances you mention. However, it's a bit like trying to discuss whether you want the car in red or black when your spouse is trying to decide between a prius and a F150 -- certain things have to settle down first :) -Ian On Thu, Sep 2, 2010 at 4:47 AM, James Graham <jgraham@opera.com> wrote: > On 09/02/2010 12:45 AM, Internet-Drafts@ietf.org wrote: > > A URL for this Internet-Draft is: >> >> http://www.ietf.org/internet-drafts/draft-ietf-hybi-thewebsocketprotocol-01.txt >> > > A few initial comments: > > The framing sections seem to have a lot of SHOULDs. This is worrying as > SHOULD-level conditions can't really be tested (it is not an error to > violate them) and can be a source of interoperability problems. I would > prefer that we make all behaviour mandatory unless there is a good reason to > do otherwise. > > Some specific clauses seem problematic. For example: > > """A receiver MUST be prepared to accept arbitrarily fragmented > messages, even if the sender sent the message in a single frame.""" > > "be prepared to accept" seems like poor wording. I would just say "Clients > and servers MUST support recieving both fragmented and unfragmented > messages". The clause "even if the sender sent the message..." seems odd > because it is not clear how the recipient can know how the message is > originally sent. In any case it seems redundant. This whole clause could be > avoided with normative processing requirements that require support for > fragmented and unfragmented messages (see below). > > """Ping > > Upon receipt of a Ping message, an endpoint SHOULD send a Pong > response as soon as is practical. The Pong response MUST contain > the payload provided in the Ping message, though an implementation > MAY truncate the message at an implementation-defined size which > MUST be at least 8 _(TBD)_ bytes.""" > > It seems simpler and less error prone to require truncation always in case > servers come to depend on the behaviour of specific implementations here. > > """ Ping frames MAY be sent as a keep-alive mechanism, but if so the > interval SHOULD be configurable.""" > > I have no idea what this SHOULD is trying to require. Is it supposed to be > a requirement on browser UI? On server implementations? Something else? In > any case, we can't really require that things are configurable. > > """Close: > > Upon receipt of a close frame, an endpoint SHOULD send a Close > frame to the remote recipient, if it has not already done so, > deliver a close event to the application if necessary, and then > close the WebSocket.""" > > It is not clear what the scope of the SHOULD here is. Since this is nested > inside a MUST clause I guess "and then close the connection" is supposed to > be a requirement. I'm not sure why sending the close frame is "SHOULD". I > don't think it is necessary to talk about "deliver[ing] a close event to the > application" since the interaction between the application and the protocol > is for the application to determine. For the specific case of the JS API we > just need to ensure we use the right terminology so that the description in > the API document is correct (i.e. this needs to match section 7.3 of the > protocol draft and section 5 of the API draft). > > > There seems to be a general lack of processing requirements. I don't know > if this is just something that is missing from the first draft, but without > such requirements there are a lot of missing details. For example it is > unclear what happens if the first frame a client receives has opcode=0 > (aside: it seems like we can design around this particular problem by e.g. > ditching opcode=0 and just ignoring opcode after the first frame in a > fragment). It is also not defined what should happen if any of the reserved > bits are set or if the opcode is in the reserved range. All of these things > are essential for interoperable implementations. > > _______________________________________________ > hybi mailing list > hybi@ietf.org > https://www.ietf.org/mailman/listinfo/hybi >
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Adam Barth
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… John Tamplin
- [hybi] I-D Action:draft-ietf-hybi-thewebsocketpro… Internet-Drafts
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Greg Wilkins
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Greg Wilkins
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Adam Barth
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Joe Hildebrand
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Adam Barth
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Greg Wilkins
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Greg Wilkins
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Roy T. Fielding
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Gabriel Montenegro
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Willy Tarreau
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Willy Tarreau
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Willy Tarreau
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Willy Tarreau
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Takeshi Yoshino
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Joe Hildebrand
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Willy Tarreau
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Hector Santos
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Hector Santos
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Simon Pieters
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Alexey Melnikov
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… James Graham
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Julian Reschke
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Olli Pettay
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Gabriel Montenegro
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Olli Pettay
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Julian Reschke
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Scott Ferguson
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] Versioning is a anti-pattern Daniel Stenberg
- Re: [hybi] Versioning is a anti-pattern Tim Bray
- Re: [hybi] Versioning is a anti-pattern John Tamplin
- Re: [hybi] Versioning is a anti-pattern Dave Cridland
- Re: [hybi] Versioning is a anti-pattern Hector Santos
- [hybi] List of (mostly) editorial changes for dra… Patrick McManus
- Re: [hybi] List of (mostly) editorial changes for… John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Willy Tarreau
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Dave Cridland
- Re: [hybi] List of (mostly) editorial changes for… Patrick McManus
- [hybi] Web Socket IP Authentication Hector Santos
- Re: [hybi] Versioning is a anti-pattern David Orchard
- Re: [hybi] Versioning is a anti-pattern Greg Wilkins
- Re: [hybi] Versioning is a anti-pattern James Graham
- Re: [hybi] Versioning is a anti-pattern John Tamplin
- Re: [hybi] Versioning is a anti-pattern Julian Reschke
- Re: [hybi] Web Socket IP Authentication Dave Cridland
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Simon Pieters
- Re: [hybi] Web Socket IP Authentication Hector Santos
- Re: [hybi] Versioning is a anti-pattern Patrick McManus
- Re: [hybi] Versioning is a anti-pattern John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Willy Tarreau
- Re: [hybi] Versioning is a anti-pattern Scott Ferguson
- Re: [hybi] Versioning is a anti-pattern John Tamplin
- Re: [hybi] Versioning is a anti-pattern Scott Ferguson
- Re: [hybi] Versioning is a anti-pattern John Tamplin
- Re: [hybi] Versioning is a anti-pattern Adam Barth
- Re: [hybi] Versioning is a anti-pattern Martin J. Dürst
- Re: [hybi] Versioning is a anti-pattern David Orchard
- Re: [hybi] Versioning is a anti-pattern Willy Tarreau
- Re: [hybi] Versioning is a anti-pattern Julian Reschke
- Re: [hybi] Versioning is a anti-pattern Adam Barth
- Re: [hybi] Versioning is a anti-pattern Greg Wilkins
- Re: [hybi] List of (mostly) editorial changes for… Greg Wilkins
- Re: [hybi] List of (mostly) editorial changes for… Patrick McManus
- Re: [hybi] List of (mostly) editorial changes for… Greg Wilkins
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Simon Pieters
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Brian McKelvey
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Brian
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Simon Pieters
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Anne van Kesteren
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… John Tamplin
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… S Moonesamy
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Greg Wilkins
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Willy Tarreau
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Anne van Kesteren
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Simon Pieters
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Simon Pieters
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Ian Fette (イアンフェッティ)
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… S Moonesamy
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… Simon Pieters
- Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocke… S Moonesamy
- Re: [hybi] Versioning is a anti-pattern Julian Reschke