[hybi] Comments on draft-ietf-hybi-permessage-compression-05
SM <sm@resistor.net> Sun, 24 February 2013 03:10 UTC
Return-Path: <sm@resistor.net>
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 96A9821F8ECA for <hybi@ietfa.amsl.com>; Sat, 23 Feb 2013 19:10:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.279
X-Spam-Level:
X-Spam-Status: No, score=-102.279 tagged_above=-999 required=5 tests=[AWL=-0.280, BAYES_00=-2.599, J_CHICKENPOX_64=0.6, USER_IN_WHITELIST=-100]
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 ZQR0FVNpfI1v for <hybi@ietfa.amsl.com>; Sat, 23 Feb 2013 19:10:26 -0800 (PST)
Received: from mx.ipv6.elandsys.com (mx.ipv6.elandsys.com [IPv6:2001:470:f329:1::1]) by ietfa.amsl.com (Postfix) with ESMTP id BA3EF21F8E57 for <hybi@ietf.org>; Sat, 23 Feb 2013 19:10:26 -0800 (PST)
Received: from SUBMAN.resistor.net (IDENT:sm@localhost [127.0.0.1]) (authenticated bits=0) by mx.elandsys.com (8.14.5/8.14.5) with ESMTP id r1O3AFlp010800; Sat, 23 Feb 2013 19:10:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=opendkim.org; s=mail2010; t=1361675420; bh=CBUwnLnAyLf4C5R8FGhTdGPMLko348Q+e//KPY/axeA=; h=Date:To:From:Subject:Cc; b=JRoC80PZ9V7SsPhe8q58Bf3EQasFQzXa9B30RxG6k0Nw2tlKx+TDqLd2Z1Uyphc9K Aswets+jNyX0IlZfagZcM9eR19MLWwvX0MSiaCdh/2mz8lqY/PmZQTpFhdKdbTJ+3Y CgDpNuSNUmCpyr0wEDGxlEKwxYxTUtTVWlXkjPMg=
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=resistor.net; s=mail; t=1361675420; i=@resistor.net; bh=CBUwnLnAyLf4C5R8FGhTdGPMLko348Q+e//KPY/axeA=; h=Date:To:From:Subject:Cc; b=ypcq0bHtOgywQ5VbRmBGqUj+3+O2U0BmbQZGAZyR4w+NoyTYDH0+2Wigc+7hqkBac 50QzUD9t66u9IllVKZOFQhrfx1zBed83udfgSojpUFYyRB9DrP48AQZCPEVL3ZxzQq 26g3Ts+7Y9PnNzYEwDJ1EF67KL8+LreBlq1nhT6o=
Message-Id: <6.2.5.6.2.20130223175715.094d8508@elandnews.com>
X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6
Date: Sat, 23 Feb 2013 18:59:30 -0800
To: Takeshi Yoshino <tyoshino@google.com>
From: SM <sm@resistor.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Cc: hybi@ietf.org
Subject: [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: Sun, 24 Feb 2013 03:10:28 -0000
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. In Section 1: "_This section is non-normative._" This style is unusual for IETF Stream documents. I suggest switching back to the usual style. "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. 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. In Section 3: 'Extensions build based on this framework are collectively called "Per-message Compression Extensions".' Where is there an explanation for the framework? '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"? "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? "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"? '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. "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"? "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). 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. "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. 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. 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. 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. 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
- [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