Re: Fwd: New Version Notification for draft-kazuho-httpbis-incremental-http-00.txt

Michael Toomim <toomim@gmail.com> Sat, 19 October 2024 00:19 UTC

Received: by ietfa.amsl.com (Postfix) id 63416C1E8DDD; Fri, 18 Oct 2024 17:19:47 -0700 (PDT)
Delivered-To: ietfarch-httpbisa-archive-bis2juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 62645C1E8DD9 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 18 Oct 2024 17:19:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.857
X-Spam-Level:
X-Spam-Status: No, score=-2.857 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=w3.org header.b="nrJyEpLQ"; dkim=pass (2048-bit key) header.d=w3.org header.b="JkXYqY/o"; dkim=pass (2048-bit key) header.d=gmail.com header.b="MTU4tjut"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qM2DOkYErwke for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 18 Oct 2024 17:19:43 -0700 (PDT)
Received: from mab.w3.org (mab.w3.org [IPv6:2600:1f18:7d7a:2700:d091:4b25:8566:8113]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6B6ADC1E8DD3 for <httpbisa-archive-bis2Juki@ietf.org>; Fri, 18 Oct 2024 17:19:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:In-Reply-To:From:References:Cc:To:MIME-Version:Date: Message-ID:Content-Type:Reply-To; bh=61wTabyBcMZZ59FMMpdGWUWd/u6GjhhCcu5uXvh1Vbo=; b=nrJyEpLQ6pGnCwXhX4fwBp+Tke nZbTeA3ZKSs/dWDCzkAvrPVbtG6hObDNUvMIFxWXkmqKYtN5BC5QPLusmt1r0PD6obLqFN1aGWzR3 KcFeet3/rAsg4MYERj7UoQvDndJjlG9RJRwpAUGtTqSleEh1XffmUZp9M2+ovYmZKFr75e8BiDkwl 5zqbXtaqfU895KDFUBf2e0t4bBE1kwbaK62SiB/lqJHSUY6pCHfhNq65Bd1Gi6rtnXmoXbtDfadl4 Bq1Swec6eem8LhSDUmhn7eW1JsS2o2a9AurxULZQj+27gBgO2uzYkSkvpl1nIMzepeN0cr96O8ABG XJNx9rHQ==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1t1xBS-001R0p-1X for ietf-http-wg-dist@listhub.w3.org; Sat, 19 Oct 2024 00:19:06 +0000
Resent-Date: Sat, 19 Oct 2024 00:19:06 +0000
Resent-Message-Id: <E1t1xBS-001R0p-1X@mab.w3.org>
Received: from ip-10-0-0-224.ec2.internal ([10.0.0.224] helo=puck.w3.org) by mab.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <toomim@gmail.com>) id 1t1xBP-001Qzs-29 for ietf-http-wg@listhub.w3.internal; Sat, 19 Oct 2024 00:19:03 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Content-Type:Reply-To; bh=61wTabyBcMZZ59FMMpdGWUWd/u6GjhhCcu5uXvh1Vbo=; t=1729297143; x=1730161143; b=JkXYqY/omguCHoDei0kBDBMomHTcqGynqyuHNmKtdWf4tE1x3B2d7+fUx+Acd+1FmAmUvsPx7PM tACCy0GpCmwvX9i7nFN3ihd1cmZ3kwWkSIHOqDs1zYqRbuSnb+9wA+/0wJqNvjILm1YgKaDq44l4W aKNFpL5WIbxKj08r2lMtn2PLv71sAAMkn//NIdxcO9/3ZBcHr1W9+mt/bmgdynHTkSWPMOLR/iY+k i622g/CTjqjQDZ5kcoCiLTZ1pVJ0R+2Z4vhqpox+Ssr/kkpnbnZDNfRV7gG0rs93BrovZDWZGRpgI 9UVzwX6puNZe0FLdHPA1OyVF8R/K9rH7RKmA==;
Received-SPF: pass (puck.w3.org: domain of gmail.com designates 2607:f8b0:4864:20::62a as permitted sender) client-ip=2607:f8b0:4864:20::62a; envelope-from=toomim@gmail.com; helo=mail-pl1-x62a.google.com;
Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by puck.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <toomim@gmail.com>) id 1t1xBO-00078D-32 for ietf-http-wg@w3.org; Sat, 19 Oct 2024 00:19:03 +0000
Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-20c6f492d2dso31755425ad.0 for <ietf-http-wg@w3.org>; Fri, 18 Oct 2024 17:19:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729297139; x=1729901939; darn=w3.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=61wTabyBcMZZ59FMMpdGWUWd/u6GjhhCcu5uXvh1Vbo=; b=MTU4tjuteDC4FsMOnlRFxcyn7Fhhw3azWN5n9SDfkehanoiVv/DOBfUs+kEA8JwJl/ SJRte2P4Iztpoo3zIF9aNP3XdDzbeJUEAk4JKa+ECYqw3Yhkrr7REW9uSzNhniSXzSe/ nuY0g/yUF1+7DcwJDQsWPgHFLejX60NjX3Ufgua81VAFolQaA3AZ1E8iJ7hZvXy4N1rP pm9TnAfxItuWGMmmhZqI4c93aS/SH0Gx6cRx2q0Da6dFORycb1eWsp9R/0zTnkx+Nj0R nRF/HsnJz6fkB4LHZuIUW080B5x16av+B3b/Kx8qXoIXcX+R6/sUNJjqC+p0K0LMGuEH mZ/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729297139; x=1729901939; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=61wTabyBcMZZ59FMMpdGWUWd/u6GjhhCcu5uXvh1Vbo=; b=bJs5lbbDtkTA9Vqjimg3PeSESr3RfSZrX1d8Lkjrzo7NtkhhnFLOfRAk90/MgNf9bK WuIxNtIig0T6cCtGw6b5Gr56mspvgZmKoqJhVSbE9XUjpoccbizuZ2Fu3jCVuC7Cof1/ NVbx1jt1YBG+FIb9cq+aQJw7W9YCJhT8tGHL6dkFeZMRmOP3KWF8zkWbg2sVOx9eY0RZ YeoZrTowIQbf+NIqfXqeuN9D5rwHCJRJgZrDII3c0YWDwcFjoUKwe2qUziF1Azw0QkSQ BwnZauiDwixzyqQfJF/jeaSQPeTGAkz0D3KnVQoW4ryynZbG7PbHRgcfjQIHeH+Sv5Z2 7lCQ==
X-Forwarded-Encrypted: i=1; AJvYcCV5/lwLL1ZLcEsFbw8BafiIyN9WY+OCBmUBErY5IfNWdH0wXAvwxY0U2w3SuJJRC7rnOYZIfssJLjYXtqQ=@w3.org
X-Gm-Message-State: AOJu0Yx1bW2Dwv8NHCeKwXiEqr8uEBdcKXccBcFE0iAflEJjgi4taoXp xVGL5qyNdW5ZL0RQP9qHgHvu2snd/uDcqJYXz7sZRw6xyhrdbpLh
X-Google-Smtp-Source: AGHT+IGZcodyIdP9/isYC3Ex8D16zSb3VCb4LSnMYstxUUraM98ZIUQyjemVkUY4zA2HgWm8j8i7WQ==
X-Received: by 2002:a17:903:1c9:b0:20c:968e:4dcd with SMTP id d9443c01a7336-20e5a70d5bbmr45389175ad.7.1729297138752; Fri, 18 Oct 2024 17:18:58 -0700 (PDT)
Received: from [192.168.10.135] (c-67-180-226-162.hsd1.ca.comcast.net. [67.180.226.162]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20e5a8d6ce1sm18424615ad.146.2024.10.18.17.18.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 18 Oct 2024 17:18:58 -0700 (PDT)
Content-Type: multipart/alternative; boundary="------------4JywA4eMDNgOiw0vlXgaDH0X"
Message-ID: <584cb780-e75e-470c-a4f3-4a89df1e43bf@gmail.com>
Date: Fri, 18 Oct 2024 17:18:56 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Kazuho Oku <kazuhooku@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Cc: Tommy Pauly <tpauly@apple.com>, Martin Thomson <mt@lowentropy.net>
References: <172899914030.1010729.4423903045781326018@dt-datatracker-78dc5ccf94-w8wgc> <CANatvzyxKRVq9ZKFofyfXZwFaQyuxMK7XJRz8w+Y8U032Mh9wA@mail.gmail.com>
Content-Language: en-US
From: Michael Toomim <toomim@gmail.com>
In-Reply-To: <CANatvzyxKRVq9ZKFofyfXZwFaQyuxMK7XJRz8w+Y8U032Mh9wA@mail.gmail.com>
X-W3C-Hub-DKIM-Status: validation passed: (address=toomim@gmail.com domain=gmail.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-5.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, DMARC_PASS=-0.001, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_DB=-1, W3C_WL=-1
X-W3C-Scan-Sig: puck.w3.org 1t1xBO-00078D-32 436f4c965cb26631ee29d7a8f4b54cc7
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Fwd: New Version Notification for draft-kazuho-httpbis-incremental-http-00.txt
Archived-At: <https://www.w3.org/mid/584cb780-e75e-470c-a4f3-4a89df1e43bf@gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/52423
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: <https://www.w3.org/email/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Guys, I just want to thank you for taking initiative on this work, and 
writing it up so clearly. It's a lovely enlightened solution for issues 
we face in subscriptions.

The issue is not just with intermediaries. Buffering happens within 
clients, as well. Firefox's fetch() implementation, for instance, 
buffers responses in the browser until they reach a particular size 
before letting your Javascript know that they exist. They can sit there 
forever, if new data does not come in. We currently work around this 
<https://github.com/braid-org/braidjs/issues/15#issuecomment-1069820315> 
in the Braid-HTTP polyfill by sending an extra half kB of blank lines 
with every pushed notification.

Three cheers,

Michael

On 10/15/24 6:35 AM, Kazuho Oku wrote:
> Hello folks,
>
> Tommy Pauly, Martin Thomson, and I have submitted a new I-D, titled 
> “Incremental HTTP Messages.”
>
> The draft can be found at the following locations, but please let me 
> introduce the draft.
> * https://datatracker.ietf.org/doc/draft-kazuho-httpbis-incremental-http/
> * 
> https://kazuho.github.io/draft-kazuho-httpbis-incremental-http/draft-kazuho-httpbis-incremental-http.html
>
>
> This draft defines the “Incremental” HTTP header field, which allows 
> senders of HTTP messages to request that intermediaries forward 
> portions of the HTTP message body as they arrive, instead of buffering 
> the entire message before forwarding.
>
> The goal is to reduce friction between endpoints running applications 
> that want incremental delivery and intermediaries that tend to buffer 
> messages.
>
> As you may know, several HTTP applications expect incremental 
> delivery, including those mentioned in the draft (Server-Sent Events 
> and Chunked OHTTP). These applications often don’t work as intended 
> when intermediaries are involved, as intermediaries frequently buffer 
> entire requests or responses before forwarding them downstream.
>
> It’s worth noting that intermediaries may have good reasons for this 
> behavior. For example, reverse proxies tend to buffer entire requests 
> [1] to reduce request concurrency on application servers behind them 
> (as a defense against the Slowloris attack).
>
> Currently, the only way to address this issue is by manually 
> configuring intermediaries to forward HTTP message bodies 
> incrementally - this must be done per intermediary instance, per 
> origin, or even per URI.
>
> This approach is tedious, unreliable, and doesn’t scale.
>
> Hence, our proposal.
>
> Endpoints sending HTTP messages can include the Incremental header 
> field to indicate that they want incremental delivery. Intermediaries 
> can check for this header and, if present, either forward the message 
> incrementally or reject it.
>
> Because the Incremental header field acts as a signal on a per-HTTP 
> message basis, intermediaries can still buffer ordinary HTTP messages 
> to minimize downstream concurrency, while forwarding messages 
> incrementally when requested.
>
> This way, we can eliminate the need for configuring intermediaries for 
> each deployment.
>
> In short, the introduction of the Incremental HTTP header field 
> eliminates the need of configuring intermediaries to support 
> incremental delivery, achieves better interoperability, and improves 
> security.
>
> We’d love to hear your thoughts. Thank you in advance.
>
> PS. The observations and opinions expressed in this email are my own 
> and haven’t been reviewed by my coauthors.
>
> [1] Nginx by default buffers the entire request; see 
> http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering
>
> ---------- Forwarded message ---------
> From: <internet-drafts@ietf.org>
> Date: 2024年10月15日(火) 21:32
> Subject: New Version Notification for 
> draft-kazuho-httpbis-incremental-http-00.txt
> To: 奥 一穂 <kazuhooku@gmail.com>, Martin Thomson <mt@lowentropy.net>, 
> Tommy Pauly <tpauly@apple.com>
>
>
> A new version of Internet-Draft 
> draft-kazuho-httpbis-incremental-http-00.txt
> has been successfully submitted by Kazuho Oku and posted to the
> IETF repository.
>
> Name:     draft-kazuho-httpbis-incremental-http
> Revision: 00
> Title:    Incremental HTTP Messages
> Date:     2024-10-15
> Group:    Individual Submission
> Pages:    6
> URL: 
> https://www.ietf.org/archive/id/draft-kazuho-httpbis-incremental-http-00.txt
> Status: 
> https://datatracker.ietf.org/doc/draft-kazuho-httpbis-incremental-http/
> HTML: 
> https://www.ietf.org/archive/id/draft-kazuho-httpbis-incremental-http-00.html
> HTMLized: 
> https://datatracker.ietf.org/doc/html/draft-kazuho-httpbis-incremental-http
>
>
> Abstract:
>
>    This document specifies the "Incremental" HTTP header field, which
>    instructs HTTP intermediaries to forward the HTTP message
>    incrementally.
>
> Discussion Venues
>
>    This note is to be removed before publishing as an RFC.
>
>    Discussion of this document takes place on the HTTP Working Group
>    mailing list (ietf-http-wg@w3.org) which is archived at
> https://lists.w3.org/Archives/Public/ietf-http-wg/.
>
>    Source for this draft and an issue tracker can be found at
> https://github.com/kazuho/draft-kazuho-httpbis-incremental-http.
>
>
>
> The IETF Secretariat
>
>
>
>
> -- 
> Kazuho Oku