<?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-rosomakho-httpbis-outdated-proxy-config-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->
  <front>
    <title>Detecting Outdated Proxy Configuration</title>
    <seriesInfo name="Internet-Draft" value="draft-rosomakho-httpbis-outdated-proxy-config-01"/>
    <author fullname="Yaroslav Rosomakho">
      <organization>Zscaler</organization>
      <address>
        <email>yrosomakho@zscaler.com</email>
      </address>
    </author>
    <date year="2025" month="September" day="05"/>
    <area>Web and Internet Transport</area>
    <workgroup>HTTP</workgroup>
    <keyword>PAC</keyword>
    <keyword>PvD</keyword>
    <keyword>outdated</keyword>
    <abstract>
      <?line 45?>

<t>This document defines a lightweight mechanism that allows explicit HTTP proxies to inform clients when their proxy configuration, such as a Proxy Auto-Configuration (PAC) file or Provisioning Domain (PvD) proxy configuration, is outdated. Clients signal to the proxy the configuration URL and the timestamp of when it was last fetched. In response, the proxy may indicate that a newer version of the configuration is available. This enables clients to refresh their configuration without relying on frequent polling or short expiration intervals. The mechanism is designed to be compatible with existing proxy deployment models and supports both PAC-based and PvD-based configurations.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://yaroslavros.github.io/httpbis-outdated-proxy-config/draft-rosomakho-httpbis-outdated-proxy-config.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rosomakho-httpbis-outdated-proxy-config/"/>.
      </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/yaroslavros/httpbis-outdated-proxy-config"/>.</t>
    </note>
  </front>
  <middle>
    <?line 49?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Explicit HTTP proxies are widely deployed in enterprise and managed network environments to enforce routing policies, enable traffic inspection, or implement access control. Clients relying on such proxies typically obtain configuration through a Proxy Auto-Configuration (PAC) file <xref target="PAC-FILE"/> or a Provisioning Domain (PvD) <xref target="PROXY-PVD"/>. In many deployments, it is necessary to update these configurations in response to operational changes such as service onboarding, emergency routing adjustments, or policy corrections.</t>
      <t>Currently, clients have limited mechanisms to detect whether the proxy configuration they are using is stale. As a result, PAC files are often polled at short intervals, and PvD expiration times are configured with low values to accelerate refreshes. These approaches are inefficient and may introduce unnecessary network traffic or delay the application of important updates.</t>
      <t>This document defines a simple mechanism that enables a proxy to inform a client that its current configuration is outdated. The client includes in its request a structured field indicating the URL of the PAC file or PvD and the timestamp of when it last fetched the configuration. If the proxy recognizes the configuration and determines that a newer version is available, it may respond with a boolean indicator prompting the client to refresh the configuration.</t>
      <t>This mechanism applies to forms of explicit proxying over HTTP where there is a clear separation between client headers intended for the proxy and headers intended for the origin server. This includes:</t>
      <ul spacing="normal">
        <li>
          <t>HTTP CONNECT as defined <xref section="9.3.6" sectionFormat="of" target="HTTP"/></t>
        </li>
        <li>
          <t><xref target="CONNECT-UDP"/></t>
        </li>
        <li>
          <t><xref target="CONNECT-IP"/></t>
        </li>
        <li>
          <t>Templated <xref target="CONNECT-TCP"/></t>
        </li>
      </ul>
      <t>This mechanism is not applicable to HTTP/1.1 proxying modes that use the "absolute-form" request URI defined in <xref section="3.2.2" sectionFormat="of" target="H1"/> with HTTP methods other than CONNECT.</t>
      <t>The mechanism is optional, compatible with existing protocols, and requires no persistent state. It allows clients to discover configuration updates proactively while preserving the existing operational model.</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?>

</section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t>To enable detection of stale proxy configuration, clients may include a <tt>Proxy-Config</tt> HTTP header field in requests sent to an explicit proxy. This header communicates the URL of the proxy configuration (such as a PAC file or PvD) and the timestamp of when the client last fetched it.</t>
      <t>Upon receiving a request containing the <tt>Proxy-Config</tt> header, a proxy that supports this mechanism compares the provided timestamp with the most recent update time of the corresponding configuration. If the proxy determines that the client configuration is outdated, it can signal this condition using the <tt>Proxy-Config-Stale</tt> response header.</t>
      <t>This mechanism is optional and advisory. Proxies are not required to track or respond to client configuration metadata, and clients are not required to act immediately upon receiving a staleness indication. The mechanism is designed to supplement, not replace, existing configuration refresh behaviors.</t>
    </section>
    <section anchor="proxy-config-header">
      <name>Proxy-Config Header</name>
      <t>The <tt>Proxy-Config</tt> request header field is used by a client to inform an explicit proxy about the proxy configuration it is currently using. The field conveys a dictionary structured field as defined in <xref section="3.2" sectionFormat="of" target="STRUCTURED-FIELD"/> with the following keys:</t>
      <ul spacing="normal">
        <li>
          <t><tt>url</tt> (optional): A string identifying the URL from which the client fetched the configuration. This may point to a PAC file or a PvD configuration. It <bcp14>MAY</bcp14> be omitted in the following cases:
          </t>
          <ul spacing="normal">
            <li>
              <t>The client is using the default PvD URI based on proxy hostname and ".well-known/pvd" path as defined in <xref section="4.1" sectionFormat="of" target="PVDDATA"/>.</t>
            </li>
            <li>
              <t>The configuration was provisioned through a mechanism that is not associated with a specific URL, such as enterprise device management or a local policy engine</t>
            </li>
          </ul>
        </li>
        <li>
          <t><tt>fetched</tt> (required): A date value indicating when the client last fetched the configuration. The value <bcp14>MUST</bcp14> use the Date format defined in <xref section="3.3.7" sectionFormat="of" target="STRUCTURED-FIELD"/>.</t>
        </li>
      </ul>
      <section anchor="handling-unknown-or-sensitive-urls">
        <name>Handling Unknown or Sensitive URLs</name>
        <t>Clients <bcp14>MUST NOT</bcp14> include URLs that expose local system information (e.g., <tt>file://</tt> URLs). Clients <bcp14>SHOULD</bcp14> limit use of the Proxy-Config header to contexts where it does not introduce privacy or security risks, such as trusted or encrypted proxy connections.</t>
      </section>
      <section anchor="examples">
        <name>Examples</name>
        <t>A client using a PAC file retrieved from <tt>https://config.example.net/proxy.pac</tt> at 2025-06-01T00:00:00Z <bcp14>MAY</bcp14> include the following header:</t>
        <figure>
          <name>Example of Proxy-Config header with url field</name>
          <artwork type="ascii-art"><![CDATA[
Proxy-Config: url="https://config.example.net/proxy.pac", fetched=@1748736000
]]></artwork>
        </figure>
        <t>If the client is using the default PvD URI associated with the proxy hostname, it may omit the <tt>url</tt> key:</t>
        <figure>
          <name>Example of Proxy-Config header without url field</name>
          <artwork type="ascii-art"><![CDATA[
Proxy-Config: fetched=@1748736000
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="proxy-config-stale-header">
      <name><tt>Proxy-Config-Stale</tt> Header</name>
      <t>The <tt>Proxy-Config-Stale</tt> response header field is used by a proxy to inform the client whether its current proxy configuration is considered outdated. This allows the client to make informed decisions about whether to refresh the configuration.</t>
      <t>The field is a boolean as defined in <xref section="3.3.6" sectionFormat="of" target="STRUCTURED-FIELD"/>, where:</t>
      <ul spacing="normal">
        <li>
          <t><tt>?1</tt> indicates that the configuration used by the client is stale and a newer version is available.</t>
        </li>
        <li>
          <t><tt>?0</tt> indicates that the configuration used by the client is current.</t>
        </li>
      </ul>
      <t>The proxy <bcp14>MUST</bcp14> only include this header if it has received a valid <tt>Proxy-Config</tt> header from the client and is able to recognize and evaluate the configuration URL. If the proxy does not recognize the provided configuration URL, does not track updates for it, or does not support this mechanism, it <bcp14>MUST</bcp14> omit the <tt>Proxy-Config-Stale</tt> header.</t>
      <t>The <tt>Proxy-Config-Stale</tt> header <bcp14>MAY</bcp14> appear in both successful and error responses, except for responses related to client authentication (e.g., <tt>407 Proxy Authentication Required</tt>). Including the header in such authentication-related responses could result in unintended exposure of configuration metadata and may interfere with authentication workflows.</t>
      <t>The <tt>Proxy-Config-Stale</tt> field is advisory. Its presence does not affect the processing of the current request or response. Clients <bcp14>MAY</bcp14> choose how and when to act upon the information, including deferring configuration refresh until convenient.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Clients using the <tt>Proxy-Config</tt> header field must take care to avoid disclosing sensitive information in the URL or metadata they send to the proxy.</t>
      <section anchor="avoiding-sensitive-urls">
        <name>Avoiding Sensitive URLs</name>
        <t>Clients <bcp14>MUST NOT</bcp14> include configuration URLs that reveal local system details, such as <tt>file:// URIs</tt> or paths containing user-specific or internal directory structures. To reduce exposure, clients <bcp14>SHOULD</bcp14> only use this mechanism when proxy configuration is relevant to the proxy (e.g., hosted on the proxy or a part of the same enterprise domain).</t>
      </section>
      <section anchor="trusted-communication-channels">
        <name>Trusted Communication Channels</name>
        <t>The <tt>Proxy-Config</tt> header is intended for use over secure and trusted communication channels. Clients <bcp14>SHOULD</bcp14> send this header only when using TLS or when otherwise confident that the request is not observable or modifiable by unauthorized intermediaries.</t>
      </section>
      <section anchor="authentication-related-responses">
        <name>Authentication-related Responses</name>
        <t>Proxies <bcp14>MUST NOT</bcp14> include the <tt>Proxy-Config-Stale</tt> header in responses related to client authentication (e.g., <tt>407 Proxy Authentication Required</tt>). This avoids potential leakage of client configuration metadata during authentication flows that may be visible to other components or exposed through logging or error handling.</t>
      </section>
      <section anchor="denial-of-service-considerations">
        <name>Denial-of-Service Considerations</name>
        <t>A misconfigured or malicious proxy could include <tt>Proxy-Config-Stale: ?1</tt> in every response, causing the client to repeatedly refetch proxy configuration. This behavior can lead to excessive network traffic, CPU usage, or degraded performance on the client, particularly in environments where configuration retrieval is resource-intensive.</t>
        <t>To mitigate this risk, clients <bcp14>MUST</bcp14> implement appropriate rate limiting or throttling mechanisms when acting on stale configuration indications. For example, a client may choose to ignore repeated <tt>?1</tt> responses within a minimum refresh interval or apply exponential backoff when encountering multiple stale signals in quick succession.</t>
        <t>Clients <bcp14>SHOULD</bcp14> validate the authenticity and integrity of any fetched configuration before applying it, and ensure that configuration refreshes do not interfere with ongoing connection or session state.</t>
      </section>
      <section anchor="inapplicability-to-non-connect-proxying-modes">
        <name>Inapplicability to Non-CONNECT Proxying Modes</name>
        <t>This mechanism is not intended for use with HTTP/1.1 proxying models that rely on the "absolute-form" request URI defined in <xref section="3.2.2" sectionFormat="of" target="H1"/> with methods other than CONNECT. In such configurations, all client headers may be forwarded by the proxy to the destination server. This can result in unintended disclosure of internal configuration metadata.</t>
        <t>Clients <bcp14>MUST</bcp14> ensure that the <tt>Proxy-Config</tt> header is only sent when the proxying mode provides a clear separation between hop-by-hop headers (intended for the proxy) and end-to-end headers (intended for the destination server). This includes CONNECT-based methods such as CONNECT (<xref section="9.3.6" sectionFormat="of" target="HTTP"/>), <xref target="CONNECT-UDP"/>, <xref target="CONNECT-IP"/> and templated <xref target="CONNECT-TCP"/>. These methods establish a tunnel or encapsulation that ensures <tt>Proxy-Config</tt> header is visible only to the proxy and is not forwarded to the destination server even if the proxy does not recognize it.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document registers the following HTTP header fields in the "Hypertext Transfer Protocol (HTTP) Field Name Registry":</t>
      <t>Proxy-Config</t>
      <ul spacing="normal">
        <li>
          <t>Field Name: Proxy-Config</t>
        </li>
        <li>
          <t>Status: permanent</t>
        </li>
        <li>
          <t>Reference: this document</t>
        </li>
      </ul>
      <t>Proxy-Config-Stale</t>
      <ul spacing="normal">
        <li>
          <t>Field Name: Proxy-Config-Stale</t>
        </li>
        <li>
          <t>Status: permanent</t>
        </li>
        <li>
          <t>Reference: this document</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <displayreference target="H1" to="HTTP/1.1"/>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="H1">
          <front>
            <title>HTTP/1.1</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 specifies the HTTP/1.1 message syntax, message parsing, connection management, and related security concerns.</t>
              <t>This document obsoletes portions of RFC 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="99"/>
          <seriesInfo name="RFC" value="9112"/>
          <seriesInfo name="DOI" value="10.17487/RFC9112"/>
        </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>
        <reference anchor="STRUCTURED-FIELD">
          <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="PAC-FILE" target="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file">
          <front>
            <title>Proxy Auto-Configuration (PAC) file</title>
            <author>
              <organization>Mozilla</organization>
            </author>
            <date year="2025" month="May"/>
          </front>
        </reference>
        <reference anchor="PROXY-PVD">
          <front>
            <title>Communicating Proxy Configurations in Provisioning Domains</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple, Inc.</organization>
            </author>
            <author fullname="Dragana Damjanovic" initials="D." surname="Damjanovic">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <date day="26" month="July" year="2025"/>
            <abstract>
              <t>   This document defines a mechanism for accessing provisioning domain
   information associated with a proxy, such as other proxy URIs that
   support different protocols and information about which destinations
   are accessible using a proxy.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/tfpauly/privacy-proxy.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-intarea-proxy-config-07"/>
        </reference>
        <reference anchor="CONNECT-UDP">
          <front>
            <title>Proxying UDP in HTTP</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes how to proxy UDP in HTTP, similar to how the HTTP CONNECT method allows proxying TCP in HTTP. More specifically, this document defines a protocol that allows an HTTP client to create a tunnel for UDP communications through an HTTP server that acts as a proxy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9298"/>
          <seriesInfo name="DOI" value="10.17487/RFC9298"/>
        </reference>
        <reference anchor="CONNECT-IP">
          <front>
            <title>Proxying IP in HTTP</title>
            <author fullname="T. Pauly" initials="T." role="editor" surname="Pauly"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="A. Chernyakhovsky" initials="A." surname="Chernyakhovsky"/>
            <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="October" year="2023"/>
            <abstract>
              <t>This document describes how to proxy IP packets in HTTP. This protocol is similar to UDP proxying in HTTP but allows transmitting arbitrary IP packets. More specifically, this document defines a protocol that allows an HTTP client to create an IP tunnel through an HTTP server that acts as an IP proxy. This document updates RFC 9298.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9484"/>
          <seriesInfo name="DOI" value="10.17487/RFC9484"/>
        </reference>
        <reference anchor="CONNECT-TCP">
          <front>
            <title>Template-Driven HTTP CONNECT Proxying for TCP</title>
            <author fullname="Benjamin M. Schwartz" initials="B. M." surname="Schwartz">
              <organization>Meta Platforms, Inc.</organization>
            </author>
            <date day="30" month="June" year="2025"/>
            <abstract>
              <t>   TCP proxying using HTTP CONNECT has long been part of the core HTTP
   specification.  However, this proxying functionality has several
   important deficiencies in modern HTTP environments.  This
   specification defines an alternative HTTP proxy service configuration
   for TCP connections.  This configuration is described by a URI
   Template, similar to the CONNECT-UDP and CONNECT-IP protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-connect-tcp-09"/>
        </reference>
        <reference anchor="PVDDATA">
          <front>
            <title>Discovering Provisioning Domain Names and Data</title>
            <author fullname="P. Pfister" initials="P." surname="Pfister"/>
            <author fullname="É. Vyncke" surname="É. Vyncke"/>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="W. Shao" initials="W." surname="Shao"/>
            <date month="July" year="2020"/>
            <abstract>
              <t>Provisioning Domains (PvDs) are defined as consistent sets of network configuration information. PvDs allows hosts to manage connections to multiple networks and interfaces simultaneously, such as when a home router provides connectivity through both a broadband and cellular network provider.</t>
              <t>This document defines a mechanism for explicitly identifying PvDs through a Router Advertisement (RA) option. This RA option announces a PvD identifier, which hosts can compare to differentiate between PvDs. The option can directly carry some information about a PvD and can optionally point to PvD Additional Information that can be retrieved using HTTP over TLS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8801"/>
          <seriesInfo name="DOI" value="10.17487/RFC8801"/>
        </reference>
      </references>
    </references>
    <?line 190?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Tommy Pauly and Dragana Damjanovic for reviewing the concept and providing initial feedback.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61a7XLbyJX9j6fo0H+sFEFJtjPjYcXxMJIcq8q2tBK12cnW
ltUEmmRHIBpBA5Q5Lu+z7LPsk+25t7vxQVKMszVTU7YJoL/ux7nn3ttxHEeV
rjI1FoNzVamk0vlCXNVVKiuViuvSfNmIM5PP9aIuZaVNPogSvFqYcjMWtkqj
KDVJLleYIC3lvIpLY81KPixNvKyqYqZtbPxscUGzxQnPFp+cRraerbS1mLTa
FJjg8mL6TohnQmbWYD86T1Wh8EdeDYZioFJdmVLLjH5cTv6Mv0yJf91M3w2i
vF7NVDmOaKFxhCWsym1tx6IqaxWtx+JlJEslMetf1UzIPBWXeaXKXFViWsrc
FqasBtGjKR8WpamLsXg/nV5HD2qDR+k4ErG4npzxX+tz+iucKVqrvMaKQnTH
CeEONPgrJiSB/oVeDvB8JXVGR1PVnOUTPy5+fnw5MuWC3soyWeItvbDj4+NM
28qO3OvjCd7ptbLH1/Us08lxd4pjGrzQ1bKeYfhGQgeZXOPP44M6oFEZntqq
s2hn9MhNOdLm8DzH/5LmR8tqlQ2iSNbV0pQkW2xDiHmdZc6OfvE7EDdhQv4A
QpC5/pWNcCz+ZhOZqZLfKCfVTbOBn391b0eJWUVRbsoVRq1ZTe9PxzzmzVjc
vDv76fT0Bf9MtS0yuXH6Oz4dnUZRpPN5dyQMIH53+eHCjW92L/zexuKj+VVn
meRHwaecA03qysQ9LxLPMd2RmOtMDdwAWS4U9BDUkKq1ykyBM6zctGwEKo/v
bo/hcfYYdnzMm/1LrVMyC1rps1XlWpX2Myz8c1Xnucpgfv7d7i4+YxOfaQ9O
BuQ74qPciBcnL/4QRXEcCzmzVSmTKoqmS20FVq5X8EeRqrnOlRVSZHqxrB4V
/SlWKllCR3YlqqWs4MeZebRCfSlgsLpi2QoyBY2RlRFOwCLJNKa04nGpcgxU
uuSPNiLp7nUobJ0shaQ1v0OqhA34bK0JXsgFz2Eamr5Ynx/tnx/nCwY7Emd+
U1YvcpnRbrEzP47+1Rsr7m4+MKjQm0qv4FFyVQgzd2fC0R+x70zaSsxVlSxp
gctclAq4A6QaduZeQfwAPk0g66UocvWoSkF6pbUw6+4GsHe5hhfIWaZGgnWl
cvphG/HiCKWaY82lF3J/hkf4Oo6Pb7INyQuP8PE/atJ2YbKMn5XCwuorUqkO
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
jgt0wQGwMVcqpd2Mov8DwbWQb3IwAAA=

-->

</rfc>
