Re: [quicwg/base-drafts] Recommend H3_NO_ERROR for early responses (#3208)

Ryan Hamilton <notifications@github.com> Fri, 08 November 2019 20:35 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 8874D120D1B for <quic-issues@ietfa.amsl.com>; Fri, 8 Nov 2019 12:35:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Level:
X-Spam-Status: No, score=-8 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, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] 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 1JJIHJhxnX43 for <quic-issues@ietfa.amsl.com>; Fri, 8 Nov 2019 12:35:29 -0800 (PST)
Received: from out-1.smtp.github.com (out-1.smtp.github.com [192.30.252.192]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 959A51200E0 for <quic-issues@ietf.org>; Fri, 8 Nov 2019 12:35:29 -0800 (PST)
Date: Fri, 08 Nov 2019 12:35:28 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1573245328; bh=gAW0h0fYt8w3yP6R2BjtfMp26O+rA++xutGlcI98UHs=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=VA5Zefosedda1dILHob9lXu7JsuZMOVp3E/pQv967Vtz28jXtlKzHGQUPwXsYNw97 u1IKQiXqr9YnxWEr/cOZhnO/K3DRLDAy+IaljN7OTrVPf3mpR3FtmoAJi+qIM9YcTs mpHdu0UTvnLoNMkv+1LHHPfrwsqR5wIR2Htg2fVc=
From: Ryan Hamilton <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK56W25PGE6C2RO667V32MCBBEVBNHHB6AI4HU@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3208/review/314445324@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3208@github.com>
References: <quicwg/base-drafts/pull/3208@github.com>
Subject: Re: [quicwg/base-drafts] Recommend H3_NO_ERROR for early responses (#3208)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5dc5d190a1120_4ea63f92024cd9602363e8"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: RyanAtGoogle
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/4FaF90xGKTMbv9-t5REqCm_By9c>
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: Fri, 08 Nov 2019 20:35:32 -0000

RyanAtGoogle commented on this pull request.



> @@ -424,13 +424,14 @@ H3_REQUEST_INCOMPLETE.
 A server can send a complete response prior to the client sending an entire
 request if the response does not depend on any portion of the request that has
 not been sent and received. When the server does not need to receive the
-remainder of the request, it MAY abort reading the request stream with error
-code H3_EARLY_RESPONSE, send a complete response, and cleanly close the
-sending part of the stream. Clients MUST NOT discard complete responses as a
-result of having their request terminated abruptly, though clients can always
-discard responses at their discretion for other reasons.  If the server sends a
-partial or complete response but does not abort reading, clients SHOULD continue
-sending the body of the request and close the stream normally.
+remainder of the request, it MAY abort reading the request stream, send a

I know we try to avoid using QUIC transport level vocabulary in the HTTP/3 document, but I've tripped up on this language before and your change reminded me about it. When it says that the server may "abort reading the stream ... " and use "... H3_NO_ERROR" it *sounds* like it's trying to RST_STREAM the stream, but of course it's really just asking the peer to stop sending (via STOP_SENDING). Would it make sense to phrase this like:

When the server does not need to receive the remainder of the request, it MAY request that the client stop sending on the the request stream, send a complete response, and cleanly close the sending part of the stream.  The error code H3_NO_ERROR SHOULD be used when requesting that the client stop sending on the request stream.

-- 
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/3208#pullrequestreview-314445324