Re: [hybi] I-D Action: draft-ietf-hybi-permessage-compression-09.txt

Tobias Oberstein <> Fri, 31 May 2013 20:54 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6F40721F8F41 for <>; Fri, 31 May 2013 13:54:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 9QX-FBT9aC8a for <>; Fri, 31 May 2013 13:54:42 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id EA29E21F8E89 for <>; Fri, 31 May 2013 13:54:39 -0700 (PDT)
Received: from ([]) by ([]) with mapi; Fri, 31 May 2013 13:54:39 -0700
From: Tobias Oberstein <>
To: Takeshi Yoshino <>, "" <>
Date: Fri, 31 May 2013 13:54:41 -0700
Thread-Topic: [hybi] I-D Action: draft-ietf-hybi-permessage-compression-09.txt
Thread-Index: Ac5bc75BydJsDfCVSP+lKrMvspJ0PgCv6OVw
Message-ID: <>
References: <> <> <>
In-Reply-To: <>
Accept-Language: de-DE, en-US
Content-Language: de-DE
acceptlanguage: de-DE, en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [hybi] I-D Action: draft-ietf-hybi-permessage-compression-09.txt
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 31 May 2013 20:54:51 -0000

> Please post your opinions and experience (implemented, faced any difficulties, found issues, etc.).

1) Some first testing ..

If client offers multiple PMCE choices to the server by including multiple elements in the "Sec-WebSocket-Extensions" header and the server supports more than one of the PMCEs offered, is there any preference which PMCE the server SHOULD choose? E.g. the first PMCE in the header that is supported by the server?

The description of the examples in "5.1. Negotiation Examples" seem to suggest that the _ordering_ of alternative PMCE offered designates _preference_.

   A server MUST decline a "permessage-deflate" offer if any of the
   following conditions is met:

   o  The offer has any extension parameter not defined for use in an

   o  The offer has any extension parameter with an invalid value.

   o  The offer has multiple extension parameters with the same name.

   o  The server doesn't support the offered configuration.

So if multiple permessage-deflate PMCEs are offered by the client, the server silently skips any invalid until the first valid or none if there is no single valid one?

The server does NOT fail the WS connection upon encountering the first invalid PMCE in the list of offers?

  A client MUST _Fail the WebSocket Connection_ if the server accepted
   a "permessage-deflate" offer with a response meeting any of the
   following condition:

   o  The response has any extension parameter not defined for use in a

   o  The response has any extension parameter with an invalid value.

   o  The response has multiple extension parameters with the same name.

   o  The client doesn't support the configuration the response

This list does not include: "The response corresponds to a PMCE configuration not offered by the client originally".
Is this on purpose?
(A client may support a configuration which it did not offer .. for whatever reasons)