<?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.6.14 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-beky-httpbis-metadata-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="METADATA">METADATA frame for HTTP/2 and HTTP/3</title>
    <seriesInfo name="Internet-Draft" value="draft-beky-httpbis-metadata-02"/>
    <author initials="B." surname="Béky" fullname="Bence Béky">
      <organization>Google LLC</organization>
      <address>
        <email>bnc@google.com</email>
      </address>
    </author>
    <author initials="B." surname="Roy" fullname="Biren Roy">
      <organization>Google LLC</organization>
      <address>
        <email>birenroy@google.com</email>
      </address>
    </author>
    <date year="2022" month="August" day="01"/>
    <area>Applications and Real-Time</area>
    <workgroup>HTTP</workgroup>
    <keyword>http</keyword>
    <keyword>metadata</keyword>
    <abstract>
      <t>This document describes a mechanism to send meta information over HTTP/2
and HTTP/3 connections that refers to either the
entire connection or a specific stream without changing the semantics of the
HTTP messages.  This mechanism can be used, for example, to gather information
for accounting or logging purposes.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://bencebeky.github.io/metadata/draft-beky-httpbis-metadata.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-beky-httpbis-metadata/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        HTTP Working Group mailing list (<eref target="mailto:ietf-http-wg@w3.org"/>),
        which is archived at <eref target="https://lists.w3.org/Archives/Public/ietf-http-wg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/bencebeky/metadata"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>HTTP/2 <xref target="H2"/> and HTTP/3 <xref target="H3"/> connections are capable of transporting multiple HTTP
messages, which are composed of field sections and bodies.  This document
describes a mechanism to convey additional information about HTTP messages or
the entire connection, in a way that does not change HTTP semantics, over the
same connection.  For instance, an endpoint may wish to convey the CPU cost or
other loadbalancing information for a particular HTTP message, or perhaps
certain statistics for a particular HTTP message or for the connection as a
whole.  Applications may wish to provide such information without affecting HTTP
messages themselves. These are some non-exhaustive examples of use cases that
may be well served by the METADATA frame.</t>
      <t>METADATA frames convey information to the next hop; they are explicitly not designed
as an end-to-end mechanism.</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>
    </section>
    <section anchor="metadata-frame">
      <name>METADATA frame</name>
      <t>Both HTTP/2 and HTTP/3 specifications allow the protocol to be extended, see
<xref section="5.5" sectionFormat="of" target="H2"/> and <xref section="9" sectionFormat="of" target="H3"/>.</t>
      <t>This document defines a new frame type: METADATA.</t>
      <t>The METADATA frame can be used to transmit a metadata block, which is an encoded
list of key-value pairs. Each key and value is a sequence of bytes with no
restriction on the allowed values. The encoded block is packaged as the payload
of one or more frames.</t>
      <t>An endpoint <bcp14>MAY</bcp14> transmit multiple metadata blocks on the same stream.</t>
      <t>METADATA frames do not change HTTP semantics.</t>
      <section anchor="metadata-http2-frame">
        <name>METADATA HTTP/2 frame</name>
        <t>The type of the METADATA HTTP/2 frame is 0x4d.</t>
        <figure>
          <name>METADATA HTTP/2 frame</name>
          <artwork type="ascii-art"><![CDATA[
METADATA HTTP/2 Frame {
  Length (24),
  Type (8) = 0x4d,

  Flags (8),

  Reserved(1),
  Stream Identifier (31),

  Encoded key-value pairs (..),
}
]]></artwork>
        </figure>
        <t>The METADATA frame defines the following flag:</t>
        <dl>
          <dt><strong>END_METADATA (0x04)</strong>:</dt>
          <dd>
            <t>When set, the END_METADATA flag indicates that this frame ends the logical
  metadata block.</t>
          </dd>
          <dt/>
          <dd>
            <t>A METADATA frame without the END_METADATA flag set <bcp14>MUST</bcp14> be followed by a
  another METADATA frame on the same stream.  However, METADATA frames <bcp14>MAY</bcp14> be
  interleaved with non-METADATA frames on the same stream, or frames of any type
  on different streams.</t>
          </dd>
        </dl>
        <t>METADATA frames are allowed on any stream.  METADATA frames on stream 0 carry
information pertaining to the whole connection.  METADATA frames on any other
stream are associated with the exchange carried by that stream.</t>
        <t>METADATA frames do not alter the state of a stream.  METADATA frames <bcp14>MUST NOT</bcp14>
be sent on a stream in the "closed" or "half closed (local)" state.  An endpoint
that receives METADATA for a stream in the "idle" state <bcp14>MAY</bcp14> choose to retain
the payload for a period of time, under the assumption that the stream will soon
transition to the "open" state.</t>
        <t>A metadata block is the concatenation of the payloads of a sequence of one or
more METADATA frames, only the last of which has the END_METADATA flag set.   If
the transfer of the last metadata block cannot be completed due to the stream or
connection being closed before a METADATA frame with the END_METADATA flag, then
the incomplete metadata block <bcp14>SHOULD</bcp14> be discarded.  This <bcp14>SHOULD NOT</bcp14> affect
processing of previous metadata blocks on the same stream or connection.</t>
        <t>METADATA frames obey the maximum frame size set by SETTINGS_MAX_FRAME_SIZE.</t>
        <t>METADATA frames are not subject to flow control.</t>
        <t>The metadata block of an HTTP/2 METADATA frame is encoded using HPACK
representations (<xref target="HPACK"/>).  An endpoint <bcp14>MUST NOT</bcp14> use any HPACK
representations that change the dynamic table inside METADATA frames; any
METADATA frame with such representations <bcp14>SHOULD</bcp14> be treated as a connection
error.</t>
      </section>
      <section anchor="metadata-http3-frame">
        <name>METADATA HTTP/3 frame</name>
        <t>The type of METADATA HTTP/3 frame is 0x4d.</t>
        <figure>
          <name>METADATA HTTP/3 frame</name>
          <artwork type="ascii-art"><![CDATA[
METADATA HTTP/3 Frame {
  Type (i) = 0x4d,
  Length (i),

  Encoded key-value pairs (..),
}
]]></artwork>
        </figure>
        <t>METADATA frames are allowed on any stream that uses HTTP/3 frames.  METADATA
frames on the control stream carry information pertaining to the whole
connection.  METADATA frames on a request stream or a push stream are associated
with the exchange carried by that stream.</t>
        <t>The metadata block of a HTTP/3 METADATA frame is encoded using QPACK
representations (<xref target="QPACK"/>).  An endpoint <bcp14>MUST NOT</bcp14> use any QPACK representations that
reference the dynamic table inside METADATA frames; any METADATA frame with such
representations <bcp14>SHOULD</bcp14> be treated as a connection error.  Therefore the
Required Insert Count <bcp14>MUST</bcp14> be zero, and decoding METADATA frame payloads do not
elicit instructions on the QPACK decoder stream.</t>
      </section>
    </section>
    <section anchor="negotiating-metadata">
      <name>Negotiating METADATA</name>
      <t>This document defines a new HTTP/2 setting identifier, SETTINGS_ENABLE_METADATA,
with value 0x4d44.  It also defines a new HTTP/3 setting identifier,
SETTINGS_ENABLE_METADATA, with value 0x4d44.</t>
      <t>An endpoint that supports METADATA frames <bcp14>SHOULD</bcp14> advertise that by sending
SETTINGS_ENABLE_METADATA with value 1 on each connection.  A value of 0
indicates that the endpoint does not support METADATA frames.  A value other
than 0 or 1 <bcp14>MUST NOT</bcp14> be sent.  In HTTP/2, the initial value is 0; in HTTP/3,
the default value is 0.  For HTTP/2,
SETTINGS_ENABLE_METADATA <bcp14>MUST NOT</bcp14> be sent in any SETTINGS frame other than the
first one.</t>
      <t>An endpoint <bcp14>SHOULD NOT</bcp14> send METADATA frames if it learns that the peer does not support them.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="compression-state-corruption">
        <name>Compression State Corruption</name>
        <t>Since metadata blocks are encoded using HPACK or QPACK, they create the
possibility of changes to the compression state of a connection.  However,
METADATA frames are extension frames, and might be dropped by implementations or
intermediaries.  To avoid the problem of compression state desynchronization
between endpoints, HPACK or QPACK representations that change compression state
are disallowed.</t>
      </section>
      <section anchor="denial-of-service-considerations">
        <name>Denial-of-Service Considerations</name>
        <t>Depending on the application, metadata blocks sent over HTTP/2 might be larger
than the negotiated SETTINGS_MAX_FRAME_SIZE.  To facilitate interoperability,
endpoints <bcp14>MUST</bcp14> respect the SETTINGS_MAX_FRAME_SIZE expressed by the peer when
encoding METADATA frames.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="http2-frame">
        <name>HTTP/2 Frame</name>
        <t>This document adds an entry to the "HTTP/2 Frame Type" registry maintained at
&lt;<eref target="https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml"/>&gt;
with the following parameters:</t>
        <dl>
          <dt><strong>Code:</strong></dt>
          <dd>
            <t>0x4d</t>
          </dd>
          <dt><strong>Frame Type:</strong></dt>
          <dd>
            <t>METADATA</t>
          </dd>
          <dt><strong>Reference:</strong></dt>
          <dd>
            <t>This Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="http2-setting">
        <name>HTTP/2 Setting</name>
        <t>This document adds an entry to the "HTTP/2 Settings" registry maintained at
&lt;<eref target="https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml"/>&gt;
with the following parameters:</t>
        <dl>
          <dt><strong>Code:</strong></dt>
          <dd>
            <t>0x4d44</t>
          </dd>
          <dt><strong>Name:</strong></dt>
          <dd>
            <t>SETTINGS_ENABLE_METADATA</t>
          </dd>
          <dt><strong>Initial Value:</strong></dt>
          <dd>
            <t>0</t>
          </dd>
          <dt><strong>Reference:</strong></dt>
          <dd>
            <t>This Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="http3-frame">
        <name>HTTP/3 Frame</name>
        <t>This document adds an entry to the "HTTP/3 Frame Types" registry maintained at
&lt;<eref target="https://www.iana.org/assignments/http3-parameters/http3-parameters.xhtml"/>&gt;
with the following parameters:</t>
        <dl>
          <dt><strong>Value:</strong></dt>
          <dd>
            <t>0x4d</t>
          </dd>
          <dt><strong>Frame Type:</strong></dt>
          <dd>
            <t>METADATA</t>
          </dd>
          <dt><strong>Status</strong>:</dt>
          <dd>
            <t>provisional (permanent if this document is approved)</t>
          </dd>
          <dt><strong>Reference:</strong></dt>
          <dd>
            <t>This Document</t>
          </dd>
          <dt><strong>Change Controller</strong>:</dt>
          <dd>
            <t>Bence Beky (IETF if this document is approved)</t>
          </dd>
          <dt><strong>Contact</strong>:</dt>
          <dd>
            <t>bnc@google.com (HTTP_WG; HTTP working group; ietf-http-wg@w3.org if this document is approved)</t>
          </dd>
          <dt><strong>Notes</strong>:</dt>
          <dd>
            <t>None</t>
          </dd>
        </dl>
      </section>
      <section anchor="http3-setting">
        <name>HTTP/3 Setting</name>
        <t>This document adds an entry to the "HTTP/3 Settings" registry maintained at
&lt;<eref target="https://www.iana.org/assignments/http3-parameters/http3-parameters.xhtml"/>&gt;
with the following parameters:</t>
        <dl>
          <dt><strong>Value:</strong></dt>
          <dd>
            <t>0x4d44</t>
          </dd>
          <dt><strong>Settings Name:</strong></dt>
          <dd>
            <t>SETTINGS_ENABLE_METADATA</t>
          </dd>
          <dt><strong>Default:</strong></dt>
          <dd>
            <t>0</t>
          </dd>
          <dt><strong>Status</strong>:</dt>
          <dd>
            <t>provisional (permanent if this document is approved)</t>
          </dd>
          <dt><strong>Reference:</strong></dt>
          <dd>
            <t>This Document</t>
          </dd>
          <dt><strong>Change Controller</strong>:</dt>
          <dd>
            <t>Bence Beky (IETF if this document is approved)</t>
          </dd>
          <dt><strong>Contact</strong>:</dt>
          <dd>
            <t>bnc@google.com (HTTP_WG; HTTP working group; ietf-http-wg@w3.org if this document is approved)</t>
          </dd>
          <dt><strong>Notes</strong>:</dt>
          <dd>
            <t>None</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <displayreference target="H2" to="HTTP/2"/>
    <displayreference target="H3" to="HTTP/3"/>
    <references>
      <name>Normative References</name>
      <reference anchor="H2">
        <front>
          <title>HTTP/2</title>
          <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
            <organization/>
          </author>
          <author fullname="C. Benfield" initials="C." role="editor" surname="Benfield">
            <organization/>
          </author>
          <date month="June" year="2022"/>
          <abstract>
            <t>This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced latency by introducing field compression and allowing multiple concurrent exchanges on the same connection.</t>
            <t>This document obsoletes RFCs 7540 and 8740.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9113"/>
        <seriesInfo name="DOI" value="10.17487/RFC9113"/>
      </reference>
      <reference anchor="H3">
        <front>
          <title>HTTP/3</title>
          <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop">
            <organization/>
          </author>
          <date month="June" year="2022"/>
          <abstract>
            <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment.  This document describes a mapping of HTTP semantics over QUIC.  This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9114"/>
        <seriesInfo name="DOI" value="10.17487/RFC9114"/>
      </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">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <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>
      <reference anchor="HPACK">
        <front>
          <title>HPACK: Header Compression for HTTP/2</title>
          <author fullname="R. Peon" initials="R." surname="Peon">
            <organization/>
          </author>
          <author fullname="H. Ruellan" initials="H." surname="Ruellan">
            <organization/>
          </author>
          <date month="May" year="2015"/>
          <abstract>
            <t>This specification defines HPACK, a compression format for efficiently representing HTTP header fields, to be used in HTTP/2.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7541"/>
        <seriesInfo name="DOI" value="10.17487/RFC7541"/>
      </reference>
      <reference anchor="QPACK">
        <front>
          <title>QPACK: Field Compression for HTTP/3</title>
          <author fullname="C. Krasic" initials="C." surname="Krasic">
            <organization/>
          </author>
          <author fullname="M. Bishop" initials="M." surname="Bishop">
            <organization/>
          </author>
          <author fullname="A. Frindell" initials="A." role="editor" surname="Frindell">
            <organization/>
          </author>
          <date month="June" year="2022"/>
          <abstract>
            <t>This specification defines QPACK: a compression format for efficiently representing HTTP fields that is to be used in HTTP/3. This is a variation of HPACK compression that seeks to reduce head-of-line blocking.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9204"/>
        <seriesInfo name="DOI" value="10.17487/RFC9204"/>
      </reference>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to acknowledge Dianna Hu and Ian Swett for their
contributions to this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
RW6CsoJAtiv7UPwH14ryKVcmAAA=

-->

</rfc>
