Re: [hybi] Last Call: <draft-ietf-hybi-thewebsocketprotocol-10.txt> (The WebSocket protocol) to Proposed Standard

Julian Reschke <julian.reschke@gmx.de> Tue, 12 July 2011 08:12 UTC

Return-Path: <julian.reschke@gmx.de>
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 41CAA21F907D for <hybi@ietfa.amsl.com>; Tue, 12 Jul 2011 01:12:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.221
X-Spam-Level:
X-Spam-Status: No, score=-104.221 tagged_above=-999 required=5 tests=[AWL=-1.922, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, 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 gNXmbwz1ItdR for <hybi@ietfa.amsl.com>; Tue, 12 Jul 2011 01:12:52 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by ietfa.amsl.com (Postfix) with SMTP id EA12621F907C for <hybi@ietf.org>; Tue, 12 Jul 2011 01:12:51 -0700 (PDT)
Received: (qmail invoked by alias); 12 Jul 2011 08:12:48 -0000
Received: from p508FD648.dip.t-dialin.net (EHLO [192.168.178.36]) [80.143.214.72] by mail.gmx.net (mp012) with SMTP; 12 Jul 2011 10:12:48 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX19JMJpo35FJbEcB25sKM4bmiGhw2sMabiVhSVg6ZB uUyl7WaERDAHx3
Message-ID: <4E1C01F3.4070906@gmx.de>
Date: Tue, 12 Jul 2011 10:12:35 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0
MIME-Version: 1.0
To: =?UTF-8?B?ScOxYWtpIEJheiBDYXN0aWxsbw==?= <ibc@aliax.net>
References: <20110711140229.17432.23519.idtracker@ietfa.amsl.com> <4E1BD054.7010103@gmail.com> <CALiegf=JjAYgjQRNh3-5NNvEP-cbAzB4hnuMV2R2WpEo3=1_ew@mail.gmail.com>
In-Reply-To: <CALiegf=JjAYgjQRNh3-5NNvEP-cbAzB4hnuMV2R2WpEo3=1_ew@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Y-GMX-Trusted: 0
Cc: hybi@ietf.org, Mykyta Yevstifeyev <evnikita2@gmail.com>, ietf@ietf.org, draft-ietf-hybi-thewebsocketprotocol@tools.ietf.org
Subject: Re: [hybi] Last Call: <draft-ietf-hybi-thewebsocketprotocol-10.txt> (The WebSocket protocol) to Proposed Standard
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 Jul 2011 08:12:53 -0000

On 2011-07-12 09:48, Iñaki Baz Castillo wrote:
> 2011/7/12 Mykyta Yevstifeyev<evnikita2@gmail.com>om>:
>>>           Sec-WebSocket-Extensions: bar; baz=2
>>>
>>>     is exactly equivalent to
>>>
>>>           Sec-WebSocket-Extensions: foo, bar; baz=2
>>
>> These two examples don't match the aforementioned ABNF; the space before
>> "baz=2" should be removed.
>
> Hi, are you sure of that? In SIP protocol (which inherits from HTTP
> grammar) a header parameter (;foo=lalala) can contain spaces anywhere
> (before/after the ";", before/after the "="). So something like:
>
>     Sec-WebSocket-Extensions: foo  , bar  ; baz = 2
>
> is valid.
>
> However it's not clear for me wheter in this example "baz=2" is a
> header param or a param just for the value "bar". In the last case it
> would mean a specific header syntax, so spaces could be not allowed.
> Could you please point to the ABNF grammar you meant?

According to 
<http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-9.1> 
it's a parameter of "bar".

That being said, I'm not happy with

          extension-param = token [ "=" token ]

In HTTP header fields, parameters usually support both token and 
quoted-string form.

Making this special means that existing header field parser code can't 
be easily re-used.

Best regards, Julian