Re: [hybi] Comments on draft-ietf-hybi-permessage-compression-05
Takeshi Yoshino <tyoshino@google.com> Tue, 12 March 2013 12:13 UTC
Return-Path: <tyoshino@google.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 4E07421F8A06 for <hybi@ietfa.amsl.com>; Tue, 12 Mar 2013 05:13:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.377
X-Spam-Level:
X-Spam-Status: No, score=-101.377 tagged_above=-999 required=5 tests=[AWL=-0.001, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_64=0.6, NORMAL_HTTP_TO_IP=0.001, NO_RELAYS=-0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id clfLdEKqG4G5 for <hybi@ietfa.amsl.com>; Tue, 12 Mar 2013 05:13:29 -0700 (PDT)
Received: from mail-wg0-x22a.google.com (mail-wg0-x22a.google.com [IPv6:2a00:1450:400c:c00::22a]) by ietfa.amsl.com (Postfix) with ESMTP id 88ED621F89E2 for <hybi@ietf.org>; Tue, 12 Mar 2013 05:13:28 -0700 (PDT)
Received: by mail-wg0-f42.google.com with SMTP id 12so3174521wgh.3 for <hybi@ietf.org>; Tue, 12 Mar 2013 05:13:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=0GcwOfszatRmI56k8jpSXj44ypYtTUfg4QVmDJHKEpM=; b=pHv2LUd/0g6K8IjG0jHhdmwbyjqo0GzSn/bd70OIQ2PGrhJ/wSc9m8S6HxL+gz5MO1 j+VU+qLMJlXlY0Sxp5V63d9P/zLB4UWiTmCnZs2a/lO4t5HbafIx0Xsyqo2oPwBoCmMU BanjNH6iKsmTVX7+rXtshSeg/6jZGcs5fCyNITWCV+IstCTo2jCon7WUU9iwBV2PrjPz owYjsF0l/f1hIbqmOo4bwhXazydcubec/Uch9EQk/b7RQiLtR1sOVY7cU4Dq2tByKaeN LhfQmzTFGWUIFCaCqbAZtUM2qA3IMO0gv51GJbfUUicyrAehDFK17ZFbap8CWEyh5Fqc lSlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type:x-gm-message-state; bh=0GcwOfszatRmI56k8jpSXj44ypYtTUfg4QVmDJHKEpM=; b=XSLBJdSe5xnHfzOuh7FQTAsZAA1Rpw5DZZ8Uzokqs67B4yN2oVNURwTOhL9S/oDhRT T9rmmRrI3708Pd5scNP71hGFaxz8pQNiXPfDWOEZJmleO6pD/cmKdyrzkn1/kISbgOsK Vcfyssr49rOu50zchhLHV0ApsBP1x8lV9wmS9/qsY8Fo6GDjJYdTzQOpQYUA/+caKbxo kMTTYYa5Ogu8HltAQZcHcsD6N1uvlpUFbXfZ3XV4R1f+lSn0gDNHTI5BUL5pAizdsLua oQWAL2wdf7D3woVEkkKl/gxL0l+vFut64yIgLCjvDh59zrsmNaqvBGanypBZmN8qi4FF PMDw==
X-Received: by 10.194.82.34 with SMTP id f2mr26132990wjy.25.1363090407356; Tue, 12 Mar 2013 05:13:27 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.194.234.198 with HTTP; Tue, 12 Mar 2013 05:13:07 -0700 (PDT)
In-Reply-To: <6.2.5.6.2.20130223175715.094d8508@elandnews.com>
References: <6.2.5.6.2.20130223175715.094d8508@elandnews.com>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Tue, 12 Mar 2013 21:13:07 +0900
Message-ID: <CAH9hSJZT6-5szxCoHPROujqKZSXumLmi8TKqN11w6oEfcOOpXg@mail.gmail.com>
To: SM <sm@resistor.net>
Content-Type: multipart/alternative; boundary="047d7beb95c087164704d7b9374a"
X-Gm-Message-State: ALoCoQm2GRi2QlPwVxxC0Zr3dALX+4YwSoiKyT7UNBlDz62/yQqdZqNTnvvM4XJiUPeVplb9+3rv4b0jNgwEVR/yYOA5Lvhggwwg4Fl7pKo5nPn5IOuYXjXOefIXFym0npcu7O3hjJS6iAbgXu3n7MpqGm8OPk5nklSumxhjhMwHPTqZkzkxft+6cC0IF0JiSiiOxkL6FZQF
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Comments on draft-ietf-hybi-permessage-compression-05
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, 12 Mar 2013 12:13:30 -0000
On Sun, Feb 24, 2013 at 11:59 AM, SM <sm@resistor.net> wrote: > Hi Takeshi, > > This is an individual comment on draft-ietf-hybi-permessage-**compression-05. > I did not cover all the issues. Sorry for not providing ample explanation. > > Thank you so much. It's fine but let me ask you to elaborate some of them. > In Section 1: > > "_This section is non-normative._" > > This style is unusual for IETF Stream documents. I suggest switching back > to the usual style. > Yes. I've removed them. > > "As well as other communication protocols, the WebSocket Protocol > [RFC6455] can benefit from compression technology." > > The sentence would benefit from a rewrite. It could alternatively be > dropped. > Dropped. > > I suggest first specifying the framework and then go into the details. I > would look at the Introduction Section in terms of providing an > introduction to the topic and after that a view of what to expect in the > other sections so that there is a "logical" flow. Sorry for not describing > this in better terms. > > Yes. I've revised overall organization of the document. > In Section 3: > > 'Extensions build based on this framework are collectively > called "Per-message Compression Extensions".' > > Where is there an explanation for the framework? > > Added. > 'To request use of a Per-message Compression Extension, a client > MUST include an element with its extension token in the > "Sec-WebSocket-Extensions" header in its opening handshake.' > > What is "element" and what is "extension token"? > I tried to point "extension" in the ABNF for the Sec-WebSocket-Extensions, but there's no good name (such as extension descriptor, extension definition, maybe) given for that part in RFC 6455. "Sec-WebSocket-Extensions header element" might be shortest description. Otherwise, we need to write clauses for each occurrence of element or define our own alias for it. Regarding introduction section, I just removed the detail. > > "A client MAY list multiple Per-message Compression Extensions > with the same name to offer use of the same algorithm with > different configurations." > > Why is this a MAY? > It's intended to clarify it's ok to send multiple offers with the same name. I've rewritten the sentence using the text suggested by Barry. > > "The parameters MUST be derived from the parameters sent by the > client and the server's capability." > > What is the meaning of "the parameters must be derived"? > Erased during addressing Barry's comments. > > 'To reject use of a Per-message Compression Extension, a server MUST > simply ignore the element in the "Sec-WebSocket-Extensions" header in > the client's opening handshake.' > > This is not clear. > Erased during addressing Barry's comments. > > "If a client doesn't support the extension and its parameters replied > from the server, the client MUST _Fail the WebSocket Connection_." > > What is the meaning of "MUST _Fail"? > It's commonly used in RFC 6455. Maybe you meant that I should cite RFC 6455 and define the term in this document. Done. Done too for _the WebSocket Connection is established_ event. > > "Otherwise, once _the WebSocket Connection is established_, both > endpoints MUST use the algorithm described in Section 4 to exchange > messages." > > This comes out as IF requirement1 ELSE requirement2. > > I suggest explaining how the protocol should work. Error handling could > be part of that. > > In Section 4.1: > > "To send a compressed message, an endpoint MUST use the following > algorithm." > > I only need to know the format to use to send the compressed message. I > suggest looking at it from that angle instead of specifying an algorithm. > > In Section 5.2.1: > > "The ABNF [RFC5234] for the value of this parameter is 1*DIGIT." > > I suggest following the usual practices for ABNF (see existing RFCs for > examples). > > Not sure which is the most supported format... Rewrote referring to httpbis documents. I.e. c2s_max_window_bits = 1*DIGIT and added a section about terminology and cited RFC 5234 in it. > Each section seems like a standalone part of the draft. In Section > 5.3.2.1: > > "The first 2 octets are the WebSocket protocol's overhead (FIN=1, > RSV1=1, RSV2=0, RSV3=0, opcode=text, MASK=0, Payload length=7)." > > I suggest using ASCII art for illustration. > Basically I feel like it's too much. But yes, it's good to show an example of a diagram with the RSV1 is set once. Done. > > "To send it after fragmentation, split the compressed payload and > build frames for each of split data as well as fragmentation process > done when the compression extension is not used." > > I suggest avoiding the tutorial approach. I would look at this as what > goes on the wire. > Sorry I couldn't get what you mean. Using "To A do B" format is bad? > In Section 6: > > "There are no security concerns for now." > > This is going to flag this as an issue. I suggest thinking about the > security considerations. There must be something which could go wrong. > Added one concern (citing CRIME attack). > > The basic idea is there. It is a matter of having text to explain that. > I suggest avoiding sentences like 'Then, a block containing "llo" > follows.' as it will create more work for the RFC Editor. Which part of the sentence is bad for the RFC Editor? > The draft unfortunately has to be rewritten. It is better not to make > liberal use of RFC 2119 key words. I suggest using them for > interoperability. Could you please point a sentence which is considered to be making liberal use of the key worlds? I tried to remove inappropriate use but couldn't find so many. > RFC 6709 discusses about design considerations for extensions. It could > be used as guidance. I suggest looking at some other RFCs discussing about > extensions to get an idea of the possible styles and then choosing one. > > Regards, > -sm > > > > Takeshi
- [hybi] Comments on draft-ietf-hybi-permessage-com… SM
- Re: [hybi] Comments on draft-ietf-hybi-permessage… Takeshi Yoshino
- Re: [hybi] Comments on draft-ietf-hybi-permessage… SM
- Re: [hybi] Comments on draft-ietf-hybi-permessage… Takeshi Yoshino
- Re: [hybi] Comments on draft-ietf-hybi-permessage… SM
- Re: [hybi] Comments on draft-ietf-hybi-permessage… Takeshi Yoshino