Re: [quicwg/base-drafts] Clarify and split the "malformed" definition (#3352)

Lucas Pardue <> Fri, 17 January 2020 00:29 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 882D412008C for <>; Thu, 16 Jan 2020 16:29:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3
X-Spam-Status: No, score=-3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id HpF8rCGRpiAM for <>; Thu, 16 Jan 2020 16:29:30 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 7FD9B120059 for <>; Thu, 16 Jan 2020 16:29:30 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 4169E2800A2 for <>; Thu, 16 Jan 2020 16:29:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1579220969; bh=avAwJO8bOy0PxvYUR49M5iXKm21aJWBb+sCJq+UfR1M=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=1xUzc4g+43o9sYHvOr+33sdQjl/LZwUeVwV4UYbpyhvdlme+W1D4nogIjZPflpG6m 6LXTSXrpbqpp7aU29HyL5XzvIyhK0I8EP8wMPxj0Dw1skhVGGBW/m5NnsoJ4ZwWAYr RQNasnAaQzzWq7gzY8/BJHCvVOtsia9cO5RKy5Wc=
Date: Thu, 16 Jan 2020 16:29:29 -0800
From: Lucas Pardue <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3352/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Clarify and split the "malformed" definition (#3352)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5e20ffe9311fc_5f403fce36acd96c7469e"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: LPardue
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 17 Jan 2020 00:29:32 -0000

LPardue commented on this pull request.

I think this is a good addition. I did however find some small room for improvement :99:

> @@ -410,10 +417,10 @@ considered invalid.
 An HTTP request/response exchange fully consumes a bidirectional QUIC stream.

I guess while we are changing so much text we could make it explicity and say

"An HTTP request/response exchange fully consumes a client-initiated bidirectional QUIC stream."

> @@ -450,15 +457,103 @@ field names MUST be converted to lowercase prior to their encoding.  A request
 or response containing uppercase header field names MUST be treated as
 malformed ({{malformed}}).
+Like HTTP/2, HTTP/3 does not use the Connection header field to indicate
+connection-specific header fields; in this protocol, connection- specific

connection-specific header fields; in this protocol, connection-specific
``` or is the space intended?

> @@ -520,9 +617,9 @@ permitted (e.g., idempotent actions like GET, PUT, or DELETE).
 ### Malformed Requests and Responses {#malformed}
 A malformed request or response is one that is an otherwise valid sequence of
-frames but is invalid due to the presence of extraneous frames, prohibited
-header fields, the absence of mandatory header fields, or the inclusion of
-uppercase header field names.
+frames but is invalid due to the presence of prohibited header fields, the
+absence of mandatory header fields, an invalid sequence of HTTP messages, or the
+inclusion of uppercase header field names.

You don't mention pseudo-header fields in this paragraph but I think it would help to do so (because earlier it says `Pseudo-header fields are not HTTP header fields.`).

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: