Clarification of dynamic table size change
Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> Mon, 19 October 2015 16:03 UTC
Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EC2161A872F for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 19 Oct 2015 09:03:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.011
X-Spam-Level:
X-Spam-Status: No, score=-7.011 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BKedoxoo9d3x for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 19 Oct 2015 09:03:46 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 39C411A8729 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 19 Oct 2015 09:03:45 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ZoCrE-0001sr-LX for ietf-http-wg-dist@listhub.w3.org; Mon, 19 Oct 2015 16:00:20 +0000
Resent-Date: Mon, 19 Oct 2015 16:00:20 +0000
Resent-Message-Id: <E1ZoCrE-0001sr-LX@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <tatsuhiro.t@gmail.com>) id 1ZoCrA-0001T3-Jh for ietf-http-wg@listhub.w3.org; Mon, 19 Oct 2015 16:00:16 +0000
Received: from mail-io0-f175.google.com ([209.85.223.175]) by lisa.w3.org with esmtps (TLS1.2:RSA_ARCFOUR_SHA1:128) (Exim 4.80) (envelope-from <tatsuhiro.t@gmail.com>) id 1ZoCr6-00058W-8c for ietf-http-wg@w3.org; Mon, 19 Oct 2015 16:00:14 +0000
Received: by iow1 with SMTP id 1so197142293iow.1 for <ietf-http-wg@w3.org>; Mon, 19 Oct 2015 08:59:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=HzzzG/hondHdZpP1HACoh50Dj4p65B+I7loRs+XPP4I=; b=m+bTDnvtVhUUQRvhX508mjSrqA4oe4ZpmNuZmv2vMHzXcCD3CJTSu/5E33B8PmKRxi XEY5MQHA6Vjmhn0NVRo7ij3YkDyuTHCNqYRxbrp2EdDuxhHJQkTHxIlpk5lgsCXEud1d oWfiaLs0T3wXv/ffexWiQbbJNOdetaq06IvoPWO4+wzJ8OOf8pbL1925T4cToRf+TFLe Rfd/AioM+Kndjt2ZsaZ97kMM0Wf0MNP/nPDvJ01ciCIitZGYRtRV45iqUKh3zRkSkman VeKk+8YVZY2NS1rZgDaqreOEU83+7ObyqFF1dzhKsqKUoY7YwdWSl5qU06j68wmczgIY eGmQ==
X-Received: by 10.107.128.194 with SMTP id k63mr36746174ioi.103.1445270386124; Mon, 19 Oct 2015 08:59:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.107.171.3 with HTTP; Mon, 19 Oct 2015 08:59:26 -0700 (PDT)
From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Date: Tue, 20 Oct 2015 00:59:26 +0900
Message-ID: <CAPyZ6=+wnoJ4o3g4eS3B2Om3Yqk+wD1_9L6HKWqT8-A4cztnBQ@mail.gmail.com>
To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="001a113fbb5af82db60522773baa"
Received-SPF: pass client-ip=209.85.223.175; envelope-from=tatsuhiro.t@gmail.com; helo=mail-io0-f175.google.com
X-W3C-Hub-Spam-Status: No, score=-5.5
X-W3C-Hub-Spam-Report: AWL=-0.775, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1ZoCr6-00058W-8c 68d588b0d534041a06a6c5172f17cb24
X-Original-To: ietf-http-wg@w3.org
Subject: Clarification of dynamic table size change
Archived-At: <http://www.w3.org/mid/CAPyZ6=+wnoJ4o3g4eS3B2Om3Yqk+wD1_9L6HKWqT8-A4cztnBQ@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/30380
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Hi, I got the bug report from nghttp2 user: https://github.com/tatsuhiro-t/nghttp2/issues/396 When nghttp client sends SETTINGS_HEADER_TABLE_SIZE=4096 in the first SETTINGS, it looks like google server does not send back dynamic table size update. This is probably because they think that it is not necessary because table size is not changed. I'd like to clarify this is a valid behavior. Specification is not clear enough in this special case. So the question is whether we are required to send dynamic table size update as acknowledgement for SETTINGS_HEADER_TABLE_SIZE if it is included in SETTINGS? In https://tools.ietf.org/html/rfc7540#section-6.5.2 ``` SETTINGS_HEADER_TABLE_SIZE (0x1): Allows the sender to inform the remote endpoint of the maximum size of the header compression table used to decode header blocks, in octets. The encoder can select any size equal to or less than this value by using signaling specific to the header compression format inside a header block (see [COMPRESSION]). The initial value is 4,096 octets. ``` In https://tools.ietf.org/html/rfc7541#section-4.2 ``` A change in the maximum size of the dynamic table is signaled via a dynamic table size update (see Section 6.3). This dynamic table size update MUST occur at the beginning of the first header block following the change to the dynamic table size. In HTTP/2, this follows a settings acknowledgment (see Section 6.5.3 of [HTTP2]). ``` In https://tools.ietf.org/html/rfc7541#section-6.3 ``` The new maximum size MUST be lower than or equal to the limit determined by the protocol using HPACK. A value that exceeds this limit MUST be treated as a decoding error. In HTTP/2, this limit is the last value of the SETTINGS_HEADER_TABLE_SIZE parameter (see Section 6.5.2 of [HTTP2]) received from the decoder and acknowledged by the encoder (see Section 6.5.3 of [HTTP2]). ``` I can read that dynamic table size update is always necessary as acknowledgement of SETTINGS_HEADER_TABLE_SIZE if it is present in SETTINGS. But someone can read in the other way. Best regards, Tatsuhiro Tsujikawa
- Re: Clarification of dynamic table size change Patrick McManus
- Re: Clarification of dynamic table size change Tatsuhiro Tsujikawa
- Re: Clarification of dynamic table size change Bence Béky
- Clarification of dynamic table size change Tatsuhiro Tsujikawa
- Re: Clarification of dynamic table size change Cory Benfield
- Re: Clarification of dynamic table size change Tatsuhiro Tsujikawa
- Re: Clarification of dynamic table size change Cory Benfield
- Re: Clarification of dynamic table size change Hervé Ruellan
- Re: Clarification of dynamic table size change Tatsuhiro Tsujikawa
- Re: Clarification of dynamic table size change Ilari Liusvaara
- Re: Clarification of dynamic table size change Bence Béky
- Re: Clarification of dynamic table size change Tatsuhiro Tsujikawa