<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-httpbis-incremental-03" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title>Incremental Forwarding of HTTP Messages</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-incremental-03"/>
    <author fullname="奥 一穂" asciiFullname="Kazuho Oku">
      <organization>Fastly</organization>
      <address>
        <email>kazuhooku@gmail.com</email>
      </address>
    </author>
    <author fullname="Tommy Pauly">
      <organization>Apple</organization>
      <address>
        <email>tpauly@apple.com</email>
      </address>
    </author>
    <author fullname="Martin Thomson">
      <organization>Mozilla</organization>
      <address>
        <email>mt@lowentropy.net</email>
      </address>
    </author>
    <date year="2025" month="November" day="12"/>
    <workgroup>httpbis</workgroup>
    <keyword>internet-draft</keyword>
    <abstract>
      <?line 41?>

<t>This document specifies the "Incremental" HTTP header field, which instructs
HTTP intermediaries to forward the HTTP message incrementally.</t>
    </abstract>
  </front>
  <middle>
    <?line 47?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>HTTP <xref target="HTTP"/> permits receivers to begin processing portions of HTTP
messages as they arrive, rather than requiring them to wait for the entire HTTP
message to be received before acting.</t>
      <t>Some applications are specifically designed to take advantage of this
capability.</t>
      <t>For example, Server-Sent Events <xref target="SSE"/> uses a long-running HTTP response, where
the server continually sends notifications as they become available.</t>
      <t>In the case of Chunked Oblivious HTTP Messages
<xref target="CHUNKED-OHTTP"/>, the client opens an HTTP request
and incrementally sends application data, while the server can start responding
even before the HTTP request is fully complete. In this way, the HTTP
request-response pair could create what is, in effect, a bi-directional
communication channel.</t>
      <t>Applications that rely on incremental delivery of data are fragile when HTTP intermediaries are involved.
This is because HTTP intermediaries are not only permitted but are frequently
deployed to buffer complete HTTP messages before forwarding them downstream
(<xref section="7.6" sectionFormat="of" target="HTTP"/>).</t>
      <t>If such a buffering HTTP intermediary exists between the client and the server,
these applications may fail to function as intended.</t>
      <t>In the case of Server-Sent Events, an intermediary that tries to buffer the HTTP
response completely before forwarding it could be left waiting indefinitely.
A client might never receive any portion of the response.</t>
      <t>In the case of requests that involve any bi-directional exchange,
an intermediary that tries to buffer entire messages --
either request or response -- prevents any data from being delivered.</t>
      <t>To help avoid such behavior, this document specifies the "Incremental" HTTP header
field, which instructs HTTP intermediaries to begin forwarding the HTTP message
downstream before receiving the complete message.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document relies on structured field definitions
of Item and Boolean <xref target="STRUCTURED-FIELDS"/>.</t>
    </section>
    <section anchor="the-incremental-header-field">
      <name>The Incremental Header Field</name>
      <t>The Incremental HTTP header field expresses the sender's intent for HTTP
intermediaries to start forwarding the message downstream before the entire
message is received.</t>
      <t>The Incremental header field is defined as a structured field
<xref target="STRUCTURED-FIELDS"/> of type Item.
Only Boolean values (<xref section="3.3.6" sectionFormat="of" target="STRUCTURED-FIELDS"/>) are valid;
a recipient ignores the field if it contains any other type.</t>
      <artwork><![CDATA[
Incremental: ?1
]]></artwork>
      <t>A true value ("?1") indicates that the sender requests intermediaries to forward
the message incrementally, as described below.</t>
      <artwork><![CDATA[
Incremental: ?0
]]></artwork>
      <t>A false value ("?0") indicates the default behavior defined in <xref target="HTTP"/>, where
intermediaries might buffer the entire message before forwarding it. However,
this explicit signal might increase intermediaries' confidence in doing so.</t>
      <t>The Incremental HTTP header field applies to each HTTP message. Therefore, if
both the HTTP request and response need to be forwarded incrementally, the
Incremental HTTP header field <bcp14>MUST</bcp14> be set for both the HTTP request and the
response.</t>
      <t>Upon receiving a header section that includes an Incremental header field with a
true value, HTTP intermediaries <bcp14>SHOULD NOT</bcp14> buffer the entire message before
forwarding it.  Instead, intermediaries <bcp14>SHOULD</bcp14> transmit the header section
downstream and continuously forward the bytes of the message content as they
arrive. As the Incremental header field indicates only how the message content is
to be forwarded, intermediaries can still buffer the entire header and trailer
sections of the message before forwarding them downstream.</t>
      <t>If an intermediary decides outright to refuse forwarding the message body
incrementally, the intermediary <bcp14>MUST</bcp14> generate an error response rather than
buffering an entire message before forwarding. Typical scenarios under which an
intermediary might refuse are discussed in <xref target="security-considerations"/>.</t>
      <t>The request to use incremental forwarding also applies to HTTP implementations.
Though most HTTP APIs provide the ability to incrementally transfer message content,
those that do not for any reason, <bcp14>SHOULD</bcp14> use the presence of the Incremental
header field to reduce or disable buffering.</t>
      <t>The Incremental field is advisory, as intermediaries that are unaware of the
field or that do not support the field might buffer messages, even when
explicitly requested otherwise.  Clients and servers therefore cannot expect all
intermediaries to understand and respect a request to deliver messages
incrementally. Clients can rely on prior knowledge or probe for support on
individual resources.</t>
      <t>The Incremental header field facilitates the establishment of a bidirectional
byte channel over HTTP, as its presence in both requests and responses instructs
intermediaries to forward early responses (<xref section="7.5" sectionFormat="of" target="HTTP"/>) and to
transmit message contents incrementally in both directions.  However, when developing
bidirectional protocols over HTTP, Extended CONNECT <xref target="RFC8441"/><xref target="RFC9220"/> is
generally more consistent with HTTP's architecture.</t>
      <t>This document does not define any parameters for the Incremental header field
value, but future documents might define parameters. Receivers <bcp14>MUST</bcp14> ignore
unknown parameters.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>When receiving a request or response that asks for incremental forwarding,
intermediaries might reject the request due to security concerns. The following
subsections explore typical scenarios under which the intermediaries might
reject requests.</t>
      <section anchor="permanent-rejection">
        <name>Permanent Rejection</name>
        <t>Some intermediaries inspect the content of HTTP messages and forward them only
if their content is deemed safe. Any feature that depends on seeing the
entirety of the message in this way is incompatible with incremental delivery.</t>
        <t>When an intermediary is asked to incrementally forward message and cannot --
whether that message is a request or a response --
due to security concerns about the message content,
the intermediary <bcp14>SHOULD</bcp14> respond with a 501 (Not Implemented) error
with an incremental_refused Proxy-Status response header field
(<xref target="iana-considerations"/>).</t>
      </section>
      <section anchor="temporary-rejection">
        <name>Temporary Rejection</name>
        <t>To conserve resources required to handle HTTP requests or connections, it is
common for intermediaries to impose limits on the maximum number of concurrent
HTTP requests that they forward, while buffering requests that exceed this
limit.</t>
        <t>Such intermediaries could apply a more restrictive concurrency limit to requests
marked as incremental to ensure that capacity remains available for
non-incremental requests, even when the maximum number of incremental requests
is reached. This approach helps balance the processing of different types of
requests and maintains service availability across all requests.</t>
        <t>When rejecting incremental requests due to reaching the concurrency limit,
intermediaries <bcp14>SHOULD</bcp14> respond with a 429 (Too Many Requests) error
(<xref section="4" sectionFormat="of" target="EXTRA-STATUS"/>),
accompanied by a connection_limit_reached Proxy-Status response header field
(<xref section="2.3.12" sectionFormat="of" target="PROXY-STATUS"/>).</t>
      </section>
      <section anchor="handling-of-small-packets">
        <name>Handling of Small Packets</name>
        <t>For performance and efficiency reasons, a small amount of buffering might be
used by intermediaries, even for incremental messages. Immediate forwarding
might be exploited to cause an intermediary to waste effort on many small
packets.  Enabling incremental delivery might instead set limits on the number
bytes that are buffered or the time that buffers are held before forwarding.
Any buffering could adversely affect application latency, even if it improves
efficiency.  In all cases, intermediaries cannot hold data in buffers
indefinitely, so data needs to be forwarded when either the time limit or the
byte limit is reached.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>An HTTP field named Incremental is registered
in the Hypertext Transfer Protocol (HTTP) Field Name Registry,
following the procedures in <xref section="18.4" sectionFormat="of" target="HTTP"/>.
The following values are registered:</t>
      <dl spacing="compact">
        <dt>Field Name:</dt>
        <dd>
          <t>Incremental</t>
        </dd>
        <dt>Status:</dt>
        <dd>
          <t>permanent</t>
        </dd>
        <dt>Structured Type:</dt>
        <dd>
          <t>Item</t>
        </dd>
        <dt>Reference:</dt>
        <dd>
          <t>This document</t>
        </dd>
        <dt>Comments:</dt>
        <dd>
          <t>None</t>
        </dd>
      </dl>
      <t>An HTTP Proxy Error Type is registered in the HTTP Proxy Error Types registry as
shown below:</t>
      <dl>
        <dt>Name:</dt>
        <dd>
          <t>incremental_refused</t>
        </dd>
        <dt>Description:</dt>
        <dd>
          <t>The HTTP message contained the Incremental HTTP header field, but the
intermediary refused to forward the message incrementally.</t>
        </dd>
        <dt>Extra Parameters:</dt>
        <dd>
          <t>none</t>
        </dd>
        <dt>Recommended HTTP Status Code:</dt>
        <dd>
          <t>501</t>
        </dd>
        <dt>Response Only Generated By Intermediaries:</dt>
        <dd>
          <t>true</t>
        </dd>
        <dt>Reference:</dt>
        <dd>
          <t>This document</t>
        </dd>
      </dl>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="EXTRA-STATUS">
          <front>
            <title>Additional HTTP Status Codes</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <date month="April" year="2012"/>
            <abstract>
              <t>This document specifies additional HyperText Transfer Protocol (HTTP) status codes for a variety of common situations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6585"/>
          <seriesInfo name="DOI" value="10.17487/RFC6585"/>
        </reference>
        <reference anchor="PROXY-STATUS">
          <front>
            <title>The Proxy-Status HTTP Response Header Field</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="P. Sikora" initials="P." surname="Sikora"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This document defines the Proxy-Status HTTP response field to convey the details of an intermediary's response handling, including generated errors.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9209"/>
          <seriesInfo name="DOI" value="10.17487/RFC9209"/>
        </reference>
        <reference anchor="STRUCTURED-FIELDS">
          <front>
            <title>Structured Field Values for HTTP</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="P-H. Kamp" surname="P-H. Kamp"/>
            <date month="September" year="2024"/>
            <abstract>
              <t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers". It is intended for use by specifications of new HTTP fields.</t>
              <t>This document obsoletes RFC 8941.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9651"/>
          <seriesInfo name="DOI" value="10.17487/RFC9651"/>
        </reference>
        <reference anchor="HTTP">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="SSE" target="https://html.spec.whatwg.org/multipage/server-sent-events.html">
          <front>
            <title>Server-Sent Events</title>
            <author>
              <organization>WHATWG</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CHUNKED-OHTTP">
          <front>
            <title>Chunked Oblivious HTTP Messages</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple</organization>
            </author>
            <author fullname="Martin Thomson" initials="M." surname="Thomson">
              <organization>Mozilla</organization>
            </author>
            <date day="13" month="September" year="2025"/>
            <abstract>
              <t>   This document defines a variant of the Oblivious HTTP message format
   that allows chunks of requests and responses to be encrypted and
   decrypted before the entire request or response is processed.  This
   allows incremental processing of Oblivious HTTP messages, which is
   particularly useful for handling large messages or systems that
   process messages slowly.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ohai-chunked-ohttp-06"/>
        </reference>
        <reference anchor="RFC8441">
          <front>
            <title>Bootstrapping WebSockets with HTTP/2</title>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="September" year="2018"/>
            <abstract>
              <t>This document defines a mechanism for running the WebSocket Protocol (RFC 6455) over a single stream of an HTTP/2 connection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8441"/>
          <seriesInfo name="DOI" value="10.17487/RFC8441"/>
        </reference>
        <reference anchor="RFC9220">
          <front>
            <title>Bootstrapping WebSockets with HTTP/3</title>
            <author fullname="R. Hamilton" initials="R." surname="Hamilton"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The mechanism for running the WebSocket Protocol over a single stream of an HTTP/2 connection is equally applicable to HTTP/3, but the HTTP-version-specific details need to be specified. This document describes how the mechanism is adapted for HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9220"/>
          <seriesInfo name="DOI" value="10.17487/RFC9220"/>
        </reference>
      </references>
    </references>
    <?line 283?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank many members of the IETF HTTP working group for
their discussions and feedback on this specification. In particular, the authors
would like to thank <contact fullname="Mark Thomas"/>, <contact fullname="Piotr Sikora"/>,
<contact fullname="Thibault Meunier"/>, <contact fullname="Marius Kleidl"/>, <contact fullname="Ben Schwartz"/>,
<contact fullname="Willy Tarreau"/>, <contact fullname="Will Hawkins"/>, <contact fullname="Mark Nottingham"/>, and
<contact fullname="Lucas Pardue"/> for close review and sugggested changes.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA5Va3XIjt5W+x1Mg8oVnUiQtyTOOhxtnLGs0kcqjn5U45bhS
KRfYDZKIuhsdoFscekquVJ5kb3Kxb5DrPMtu7Wvsdw7QfyRlJ1MuiwTRwMH5
+c53Dno8HovKVJmeyoOLInE610WlMvnWurVyqSmW0i7k+Wx2Iy+192qp/YFI
bVKoHI+kTi2qsdHVYryqqnJu/Nh0i4wPPxeJqvTSus1U+ioV6+VUxonClG4q
K1f76vjw8NXhsbjXm7V16VSaotKu0NWYlxe+UkX6g8psgR032ovSTOUfK5uM
pLeucnrh8WmT04c/CVVXK+umQo6FxL9FnWUsK3+TcjqV//v3v8v/+cdf/++/
/xbHlE8MlvxW/VivrLy+r3ncOgj7Vvkq2/B3nSuTTeU9z7L39ddLGpgkNt/Z
S85snm/kjarjs1hLFeZHVRlbTOVJWWa6v2ZV0syvFY3vX/BSucoUcrayubfF
njUv7Y8my1R/1bz6OrNrWMLZcjOBPoUorMvxwAOr4+wPs9uT8d3sZPb+bipv
355+8fLLlxi/ub3+w/f98VfHh68wfje7fX86e3979mb89uLs3Zv44xcvj4Qw
xaK/9N3dWVB4pdxSV8HofvrZZ6sqzya+1MlkvVLVejnBKT7L66wyJVzrM6/d
g3ZjD6HH+gH/9xN6IiwVvPQuTLnDj/KMp/Cvrdnp3zgaNhrxu/OT2Xe/F/g3
Ho+lmvvKqQTamK2Ml/DlmtxVklRmYbSX1UoPguEg+P9Kq1Q7iSlZOpLrlUlW
cFUsVicQgqew5+Y6NcrxQlYuQhzxmjwlD1Eke3GSbSZRttykKVxDfCIvyGwp
VoZ1RVj848df0d+vSOlHR4ePj7LEZqby0ulEQ/OOd5zrJTyldDbBThS/JYIE
q/gmkEUUwcPxSa6NVM7h8ZF0Cl8dxlSBNf9SG0fPYyynhdfKVHQePgsEN04P
1gubN8Kk+IzJWkLVWAUnvLM5vsHHTaKCQAo/R7UnpAaZam+WBZ7FUpW6x/T0
QUFFWBzCV7AXAKVUc5OZipQGlJL6g8oRN6M9ngGVwROhqNrTaSUgZDl2dVHQ
sVinTvsSkmiyp3Za0NGCE8rE4ohFzXLBIVMvC1uxpFH4qLy5TvhgDwg6NUcA
C3FRsI4S5Vnu01Vd3ONQ1/PMPBhb+yGeio8fX5+ev7/6FoF1zRa+GL+ZMKja
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
L5fL0MwJV+NgJ/8PwjvtcKgoAAA=

-->

</rfc>
