Martin Duke's Discuss on draft-ietf-httpbis-header-structure-18: (with DISCUSS and COMMENT)

Martin Duke via Datatracker <> Sun, 17 May 2020 22:25 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 29A693A07C2 for <>; Sun, 17 May 2020 15:25:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.749
X-Spam-Status: No, score=-0.749 tagged_above=-999 required=5 tests=[HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id luTvlwxTb1la for <>; Sun, 17 May 2020 15:25:12 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 944793A07BF for <>; Sun, 17 May 2020 15:25:12 -0700 (PDT)
Received: from lists by with local (Exim 4.92) (envelope-from <>) id 1jaRfj-0001tK-8K for; Sun, 17 May 2020 22:22:15 +0000
Resent-Date: Sun, 17 May 2020 22:22:15 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <>) id 1jaRfh-0001sU-Um for; Sun, 17 May 2020 22:22:13 +0000
Received: from ([]) by with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <>) id 1jaRff-0007oS-DE for; Sun, 17 May 2020 22:22:13 +0000
Received: from (localhost [IPv6:::1]) by (Postfix) with ESMTP id 607DE3A07BA; Sun, 17 May 2020 15:21:59 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Martin Duke via Datatracker <>
To: "The IESG" <>
Cc:,,, Tommy Pauly <>,
X-Test-IDTracker: no
X-IETF-IDTracker: 6.130.0
Auto-Submitted: auto-generated
Reply-To: Martin Duke <>
Message-ID: <>
Date: Sun, 17 May 2020 15:21:59 -0700
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-4.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, FREEMAIL_FORGED_REPLYTO=2.095, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1jaRff-0007oS-DE c8e06468e742ac84d88380dc80f78fde
Subject: Martin Duke's Discuss on draft-ietf-httpbis-header-structure-18: (with DISCUSS and COMMENT)
Archived-At: <>
X-Mailing-List: <> archive/latest/37642
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

Martin Duke has entered the following ballot position for
draft-ietf-httpbis-header-structure-18: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:


This is probably a simple one, and perhaps I'm missing something obvious:

Throughout Section 3, the document specifies minimum data structure sizes (1024
list members, 256 inner list members, 64-character keys, etc.) that the
receiver MUST be able to process. What is the desired behavior if any of these
data structures exceeds what the receiver can process? Must it skip the entire
field, or can it process the first N entries and then ignore the rest? Given
the "Intentionally Strict Processing" principle, it would be good to spell this


Thanks for this noble attempt to tame the wildness that is the HTTP spec!

- While this is by no means a required change to publish this document, I found
the order of Section 3 to be backwards from what would easiest to follow. The
higher-order concepts (e.g. lists) are defined first, and refer to low-level
concepts (like items) that are not defined till the end of the section.

- In Sec 3.1.2, it might be useful to explain that in example-IntHeader, a is

- sec 3.2. Can you add some text to make it clear that the value in dictionary
entries is only optional (in brackets) because of Boolean TRUE? This was not
clear to me until I read sec. 4.1.2.

- Sec 4. s/before HPACK is applied/before compression with HPACK
(A receiver "applies" HPACK to decompress, and presumably before doing this

- Sec 4.2. s/header value/field value