Re: [hybi] Handling multiple compression method entries of the same extension

Takeshi Yoshino <tyoshino@google.com> Fri, 11 May 2012 14:31 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 2A01721F8715 for <hybi@ietfa.amsl.com>; Fri, 11 May 2012 07:31:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.976
X-Spam-Level:
X-Spam-Status: No, score=-102.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1, 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 mzDcEnM3Ky5w for <hybi@ietfa.amsl.com>; Fri, 11 May 2012 07:31:25 -0700 (PDT)
Received: from mail-we0-f172.google.com (mail-we0-f172.google.com [74.125.82.172]) by ietfa.amsl.com (Postfix) with ESMTP id 1B4C221F860B for <hybi@ietf.org>; Fri, 11 May 2012 07:31:24 -0700 (PDT)
Received: by werf13 with SMTP id f13so1428035wer.31 for <hybi@ietf.org>; Fri, 11 May 2012 07:31:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record; bh=ftDSi6p8pnKffvPtIynMIVoD6MBKmFT7zsy1Xl8ecaw=; b=pzppJ2SmqRD3p20XEFyQdyz7D230k0QBc8N20tXoQE47BjpsKg5I6+MCcbpefrNtK/ 9t421T0KDHoufTY4VekwzGYg1+HV+UTSfIxN9PZaHK0UazoHyjtbM6oqa/SZOF8SHhJr 9W+D40TiBvqPs4GgdaF7gOSbgBFxgcGpYUSnDcHnJn2iOya3MubtaVreCH4tl1bCxpft wbxvmbSxc2Y7CuuUKqiFHGzwTz5jtOY/ZZD1lhcXZy0dI4BjqwmlO6RcXwYUTn3KG7si R9Ky2ZEM2fWyou49Fl60yNrJzxVvaFmDm8ZtTQf9GYePQr6w5kSUcSQoIWvoHeHs8U8e E0Cw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record:x-gm-message-state; bh=ftDSi6p8pnKffvPtIynMIVoD6MBKmFT7zsy1Xl8ecaw=; b=nnDwBkWpLPnqNCt/Cr+4KlTy+Hbyd7QjfyZzkCINNaZUKi8bF3sijBOyj9vkvEHlbD dq8kVqtXbglJWpUsHQa8GaDMO2DINgpuUOsIMPsCrKlsrM7CMKBWzNqIvTNJiOnTfqIf bErchpHHvtMvGpB/g3jOwQP1+nNO0YTizWEAe0guId09uXwGFauk/ST6hYq9I0gKCNZc OQltjoVArLEkOApeCFd1RNBLEvKlMiFVMYvu7ltnFiHtx4RxB4R7mJMy9pQZ6ucgSrY7 6T5dHNfHjiYdyjQ4rV2NWhq4gj3DQBnOq21IcI7YsfCmfsYVDSctGX1MdoxVcYls5bzZ rT/w==
Received: by 10.50.222.137 with SMTP id qm9mr1780118igc.64.1336746683383; Fri, 11 May 2012 07:31:23 -0700 (PDT)
Received: by 10.50.222.137 with SMTP id qm9mr1780107igc.64.1336746683253; Fri, 11 May 2012 07:31:23 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.112.130 with HTTP; Fri, 11 May 2012 07:31:02 -0700 (PDT)
In-Reply-To: <001f01cd2f7b$c4dbbb70$4e933250$@noemax.com>
References: <CAH9hSJaXiZyuqag2ZUmCwypazEP3bB+k7bD4reha6DBDxn5pwg@mail.gmail.com> <001f01cd2f7b$c4dbbb70$4e933250$@noemax.com>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Fri, 11 May 2012 23:31:02 +0900
Message-ID: <CAH9hSJbFOYQq+xndziyVBDaRbr0t__RhAdeUwY8Uo3KF8LsoVQ@mail.gmail.com>
To: Arman Djusupov <arman@noemax.com>
Content-Type: multipart/alternative; boundary="14dae934107335c2c304bfc397ec"
X-System-Of-Record: true
X-Gm-Message-State: ALoCoQmSse927HqrVVEc6tKKD46o72TCrvvJ+LUaBEiOLOPfgumJNri/8gJ78coeQFGUqGZqXy3CFyFTDVdGSYveksbv2F4/KS+I/4CTvdtQXvSTOUhNc0RlqKuENip14DCYxlYPiOxJ
Cc: hybi@ietf.org
Subject: Re: [hybi] Handling multiple compression method entries of the same extension
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: Fri, 11 May 2012 14:31:26 -0000

On Fri, May 11, 2012 at 10:41 PM, Arman Djusupov <arman@noemax.com> wrote:

> Agree on the 2-d) choice. What I just don’t understand is why you have to
> prefix max_window_bits and no_context_takeover?****
>
> **
>

If we take 2-d), we'll echo back requested client parameters while
sending the server parameters. So, we need to add prefixes to distinguish
them. The example for 2-d) will be like the following for the "deflate"
method.

Request:
perframe-compress: method="deflate; s2c_max_window_bits=15"
Response:
perframe-compress: method="deflate; s2c_max_window_bits=15,
c2s_max_window_bits=8"

Note that there is another point which needs to be clarified. Theoretically
> the max_window_bits and no_context_takeover can even be asymmetric. It is
> possible to implement this extension in such a manner that there is context
> takeover in one direction and no content takeover in the other direction.
> Unless I missed something, the spec does not require the server to use
> exactly the same parameters as the client requested.
>

That's exactly what I intended to mean.


> **
>
> “a server MUST include an element with the "perframe-compress" extension
> token as its extension identifier in the "Sec-WebSocket-Extensions" header
> in its opening handshake.  The element MUST contain exactly one extension
> parameter named "method".  The value of the "method" extension parameter
> MUST be a compression method description.  The compression method
> description MUST be a *valid response* for any of the methods listed by the
> client in its opening handshake.”****
>
> ** **
>
> So it’s a bit unclear what is a Valid response, obviously thought it is
> compression method specific.
>

OK. I'll fix it.


> **
>
> “An endpoint that received this parameter MUST NOT use LZ77 sliding window
> size greater than the size specified by this parameter to *build frames*.”
> ****
>
> ** **
>
> So this parameter affects only outbound frames and each side sets the
> maximum window size for the remote side, but those parameters are not
> currently required to be the same. For example, the client can limit the
> server to 12bit window, while the server can set the client maximum to 15;
> that would mean that the client is free to use a larger window for sending
> messages, while the server has to stick to lower values. There are cases in
> which such a design does make sense.
>

Yes.