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

Tobias Oberstein <tobias.oberstein@tavendo.de> Tue, 04 June 2013 14:06 UTC

Return-Path: <tobias.oberstein@tavendo.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 43EF121F961F for <hybi@ietfa.amsl.com>; Tue, 4 Jun 2013 07:06:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.466
X-Spam-Level:
X-Spam-Status: No, score=-2.466 tagged_above=-999 required=5 tests=[AWL=0.133, BAYES_00=-2.599]
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 bfWB0hhC6twS for <hybi@ietfa.amsl.com>; Tue, 4 Jun 2013 07:05:48 -0700 (PDT)
Received: from EXHUB020-5.exch020.serverdata.net (exhub020-5.exch020.serverdata.net [206.225.164.32]) by ietfa.amsl.com (Postfix) with ESMTP id 759A521F9C6E for <hybi@ietf.org>; Tue, 4 Jun 2013 05:31:52 -0700 (PDT)
Received: from EXVMBX020-12.exch020.serverdata.net ([169.254.3.90]) by EXHUB020-5.exch020.serverdata.net ([206.225.164.32]) with mapi; Tue, 4 Jun 2013 05:31:51 -0700
From: Tobias Oberstein <tobias.oberstein@tavendo.de>
To: Takeshi Yoshino <tyoshino@google.com>
Date: Tue, 4 Jun 2013 05:31:49 -0700
Thread-Topic: [hybi] I-D Action: draft-ietf-hybi-permessage-compression-09.txt
Thread-Index: Ac5hF6blmCA+p89sQ7K2RhA5nU8RKgABlemg
Message-ID: <634914A010D0B943A035D226786325D4422DC213FA@EXVMBX020-12.exch020.serverdata.net>
References: <20130425140626.10027.9016.idtracker@ietfa.amsl.com> <CAH9hSJYDH47Ya1FNp80xjeD=pwYJAqcx=XDr=SnBbNDD+f-r4Q@mail.gmail.com> <CAH9hSJYa8QA9VkOwS6GEr0+8iJcnQcpMy3X_fKwGQOuJRr=sEw@mail.gmail.com> <634914A010D0B943A035D226786325D4422DC20DC7@EXVMBX020-12.exch020.serverdata.net> <CAH9hSJZGxcpx-RSB-b4=Kks3_-OQEHDi7C8p8yzka1vBTHevCg@mail.gmail.com>
In-Reply-To: <CAH9hSJZGxcpx-RSB-b4=Kks3_-OQEHDi7C8p8yzka1vBTHevCg@mail.gmail.com>
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: de-DE, en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] I-D Action: draft-ietf-hybi-permessage-compression-09.txt
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, 04 Jun 2013 14:06:03 -0000

Am 04.06.2013 13:35, schrieb Takeshi Yoshino:> On Sun, Jun 2, 2013 at 7:29 AM, Tobias Oberstein 
> <tobias.oberstein@tavendo.de <mailto:tobias.oberstein@tavendo.de>> wrote:
> 
>      > Please post your opinions and experience (implemented, faced any
>     difficulties, found issues, etc.).
> 
>     """
>         A client MAY attach the "c2s_max_window_bits" extension parameter if
>         the client can adjust LZ77 sliding window size based on the
>         "c2s_max_window_bits" sent by the server.  This parameter has no
>         value.
>     """
> 
>     Any reason there is no "c2s_no_context_takeover" parameter that
>     allows the client to _announce_ it supports the feature?
> 
> 
> I assumed that there's no platform/language where it's difficult to 
> implement c2s_no_context_takeover. It means that DEFLATE context is 
> singleton and can never be reset (or reset operation is very heavy).
> 
> Unless there's any existing difficulty, c2s_no_context_takeover should 
> be supported widely, I think.

The current draft reads:

" It is RECOMMENDED that clients implement the
   "c2s_no_context_takeover" parameter."

It's not "MUST implement" .. so there might be client which won't, and then a server has no chance to adapt it's response to the client and maximize likelihood of connection success given it ideally wants to activate "c2s_no_context_takeover".

> 
> Your suggestion allows a client to force a server which is reluctant to 
> but can enable c2s_context_takeover to enable it. Do you think it's 
> important functionality?

Why is that?

The presence of "c2s_no_context_takeover" in the client's offer would just signal to the server that the client supports the feature and the server MAY enable it.

Why signal feature presence for "c2s_max_window_bits", but not "c2s_no_context_takeover"?

Maybe it's just me, but the asymmetry was a source of confusion to me.

I think it would make the spec more consequent, and the change is minimal, e.g. it's a 1 liner for Chrome:

String CompressionMessageExtensionProcessor::handshakeString()
{
    return ASCIILiteral("permessage-deflate; c2s_max_window_bits");
}

=>

String CompressionMessageExtensionProcessor::handshakeString()
{
    return ASCIILiteral("permessage-deflate; c2s_max_window_bits; c2s_no_context_takeover;");
}

/Tobias