Re: [quicwg/base-drafts] Discuss max-header-list-size from the other side (#2774)

Mike Bishop <notifications@github.com> Thu, 13 June 2019 17:53 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 47E321201D1 for <quic-issues@ietfa.amsl.com>; Thu, 13 Jun 2019 10:53:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.424
X-Spam-Level:
X-Spam-Status: No, score=-8.424 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, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.415, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
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 xfC9jI6uNOXQ for <quic-issues@ietfa.amsl.com>; Thu, 13 Jun 2019 10:53:20 -0700 (PDT)
Received: from out-5.smtp.github.com (out-5.smtp.github.com [192.30.252.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 266661201D0 for <quic-issues@ietf.org>; Thu, 13 Jun 2019 10:53:20 -0700 (PDT)
Date: Thu, 13 Jun 2019 10:53:19 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1560448399; bh=MCDlHubIWkhKkXAMoATM8mcpvrKUAaPwuCAI5xa04hE=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=G1A8rCg19Zt5XRikeJAQPqvFp0PPe9gUFeOlRA3UwBaAjlQgMKStF11Tz3F2s4M3R fox2RxSU3aqRMsEFWdKIwExSu4R2VzATowCHueqUxX4hFP8LlVc+AW80agq53R+IXv 7kukHecB9+UpCd03Kq3LBZ/5KI5TyI3v7TlzdcxM=
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK4PCIVAVLQQ7ONX2RV3B7AA7EVBNHHBWAXMNE@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2774/review/249509582@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2774@github.com>
References: <quicwg/base-drafts/pull/2774@github.com>
Subject: Re: [quicwg/base-drafts] Discuss max-header-list-size from the other side (#2774)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5d028d8f215f8_47593fa32d8cd95c546022"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: MikeBishop
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/M1X93-MhFCqL9njiJP__ZA5aesI>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Jun 2019 17:53:22 -0000

MikeBishop commented on this pull request.



> -including the length of the name and value in bytes plus an overhead of 32 bytes
-for each header field.
+An HTTP/3 implementation MAY impose a limit on the maximum size of the message
+header it will accept on an individual HTTP message.  A server that receives a
+larger header field list than it is willing to handle can send an HTTP 431
+(Request Header Fields Too Large) status code {{?RFC6585}}.  A client can
+discard responses that it cannot process.  The size of a header field list is
+calculated based on the uncompressed size of header fields, including the length
+of the name and value in bytes plus an overhead of 32 bytes for each header
+field.
+
+If an implementation wishes to advise its peer of this limit, it can be conveyed
+as a number of bytes in the `SETTINGS_MAX_HEADER_LIST_SIZE` parameter. An
+implementation which has received this parameter SHOULD NOT send an HTTP message
+header which exceeds the indicated size, as this will likely produce an error
+and could disrupt the entire connection if the peer reacts negatively.  However,

It is advisory, in that you're being told in advance what message size the peer will refuse to process.  When this was recommended to be a stream error, the risk was that a stream error can always be promoted to a connection error at implementation discretion, and a connection error would tear everything else down with it.

Now that we recommend an HTTP status code instead, this language might be unnecessary.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2774#discussion_r293503517