Re: [hybi] Resolutions for the issues of the compression spec reported during WGLC

Peter Thorson <webmaster@zaphoyd.com> Tue, 15 January 2013 12:05 UTC

Return-Path: <webmaster@zaphoyd.com>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6498221F88CC for <hybi@ietfa.amsl.com>; Tue, 15 Jan 2013 04:05:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
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 docvn0OCvyfX for <hybi@ietfa.amsl.com>; Tue, 15 Jan 2013 04:05:43 -0800 (PST)
Received: from sh78.surpasshosting.com (sh78.surpasshosting.com [72.29.64.142]) by ietfa.amsl.com (Postfix) with ESMTP id 8E52D21F88D1 for <hybi@ietf.org>; Tue, 15 Jan 2013 04:05:42 -0800 (PST)
Received: from c-68-51-76-178.hsd1.il.comcast.net ([68.51.76.178]:41811 helo=[10.0.1.88]) by sh78.surpasshosting.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.80) (envelope-from <webmaster@zaphoyd.com>) id 1Tv5Gv-0008Vl-8p; Tue, 15 Jan 2013 07:05:41 -0500
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\))
From: Peter Thorson <webmaster@zaphoyd.com>
In-Reply-To: <CAH9hSJZ8MtV4gvRp2+pjG5YDS-JXnb-Dau4Y_WMB-rSGm1PL_w@mail.gmail.com>
Date: Tue, 15 Jan 2013 06:05:40 -0600
Content-Transfer-Encoding: quoted-printable
Message-Id: <1E570FA0-35CA-472B-9796-B0855A3043BB@zaphoyd.com>
References: <CAH9hSJYwuBuben2vRrG3Xb_aSpZjJhC9WynOeopfChpjqBh_7Q@mail.gmail.com> <50E6D88E.7030100@gmx.de> <CAH9hSJbipHUqyt1oPHVNq_SjdPovTTb0DHVZrOz-6Rdm=9DOBQ@mail.gmail.com> <000c01cdef3c$79b2ce50$6d186af0$@noemax.com> <CAH9hSJZ8MtV4gvRp2+pjG5YDS-JXnb-Dau4Y_WMB-rSGm1PL_w@mail.gmail.com>
To: Takeshi Yoshino <tyoshino@google.com>
X-Mailer: Apple Mail (2.1499)
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - sh78.surpasshosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - zaphoyd.com
X-Get-Message-Sender-Via: sh78.surpasshosting.com: authenticated_id: webmaster@zaphoyd.com
X-Source:
X-Source-Args:
X-Source-Dir:
Cc: Julian Reschke <julian.reschke@gmx.de>, "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Resolutions for the issues of the compression spec reported during WGLC
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Tue, 15 Jan 2013 12:05:46 -0000

Hi Takeshi,

I have implemented extension negotiation per the 04 draft and I can say that the parsing is definitely more complicated and error prone than anything else previously used in the WebSocket protocol, thought not necessarily in the deep corners of HTTP itself. This change should simplify that considerably. I previously didn't have strong feelings either way. The 04 method was more complicated but cleaner and more expressive. The new method was a lot simpler but more messy and verbose at the extension header level.

Looking more closely at my extension negotiation code this morning I think the 1 extension per algorithm is a good idea. Specifically, I noticed that at the extension level I already have a system for evaluating and choosing which extensions to use. Batching multiple sets of extension parameters into the parameter list of a single extension requires a second stage of parameter negotiation that while very similar, is just different enough to need separate per extension parameter negotiation code. Assuming multiple extension values with the same name are still allowed (RFC6455 doesn't seem to forbid it) and the rules about mutual exclusivity between different extensions in the same family are clearly laid out, I don't see any functionality loss. 

For this extension I think this is a good choice. One last question I have though.. will this set a precedent towards simpler extension options that will be a problem for any future extensions that might need it for something other than parameter negotiation?

Peter

On Jan 14, 2013, at 22:30 , Takeshi Yoshino <tyoshino@google.com> wrote:

> Thanks, Arman.
> 
> It passed 1 week since my post calling for comments. Based on:
> - Julian and Arman's comment
> - the fact that we didn't have strong objection to 1 extension per 1 algorithm approach
> I'd like to
> - revert the spec (1 extension per 1 algorithm)
> - but keep text for general compression extension and deflate specific text separate (John Tamplin's opinion)
> - keep the spec name
> - keep framing detail unchanged
> 
> I'll publish it as -05 in a few days. Tell me if you have any objection.
> 
> Best
> Takeshi
> 
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi