<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.0.39 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-bishop-httpbis-extended-settings-01" category="info">

  <front>
    <title abbrev="EXTENDED_SETTINGS">HTTP/2 Extended SETTINGS Extension</title>

    <author initials="M." surname="Bishop" fullname="Mike Bishop">
      <organization>Microsoft</organization>
      <address>
        <email>michael.bishop@microsoft.com</email>
      </address>
    </author>

    <date year="2016"/>

    <area>Applications</area>
    <workgroup>HTTPbis</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>HTTP/2 defines the SETTINGS frame to contain a single 32-bit value per 
setting. While this is sufficient to convey everything used in the core 
HTTP/2 specification, some protocols will require more complex values, 
such as arrays of code-points or strings.</t>

<t>For such protocols, this extension defines a parallel to the SETTINGS 
frame, EXTENDED_SETTINGS, where the value of a setting is not a 32-bit 
value, but a variable-length opaque data blob whose interpretation is 
subject entirely to the definition of the protocol using it.</t>



    </abstract>


  </front>

  <middle>


<section anchor="problems" title="Introduction">

<t>In <xref target="I-D.bishop-httpbis-http2-additional-certs"></xref>, values
for which IANA registries already exist must be communicated between
two HTTP/2 implementations.  Since the SETTINGS frame constrains
setting values to a 32-bit value, the existing version of that
draft divides the 32-bit value into halves and dedicates bits
to each currently-known value.  This requires the creation
of two duplicative IANA registries, and enormously constrains
future extensibility since each future supported value will consume
one of only sixteen bits.  It also causes divergence from other
places in the protocol where a bitmask is not required and a
more sensible value can be used.</t>

<t><xref target="MS-HTTP2E"></xref>, likewise, defines a very limited bitmap in the 32-bit
value – two bits are defined, all others are reserved (and not useful).
The setting fits easily in a single byte, and need not consume a four-byte
value every time it is transferred.</t>

<t>Alternately, a number of recent and in-progress HTTP/2 extensions 
describe properties of the connection that are informative to the peer 
(<xref target="RFC7838"></xref>, <xref target="I-D.ietf-httpbis-origin-frame"></xref>). These are essentially 
settings that did not fit into a 32-bit value.</t>

<t>Each extension could define its own SETTINGS-equivalent frame to carry 
its own data, as these extensions already have, but to do so every time 
a new extension might require such a capability seems similarly 
wasteful, given the limited frame type space (also an IANA registry).</t>

</section>
<section anchor="setting" title="Detection of Support">

<t>An HTTP/2 peer that supports the EXTENDED_SETTINGS frame indicate this using the HTTP/2 <spanx style="verb">SETTINGS_EXTENDED_SETTINGS</spanx> 
(0xSETTING-TBD) setting.</t>

<t>The initial value for the <spanx style="verb">SETTINGS_EXTENDED_SETTINGS</spanx> setting is 0 (0x00), 
indicating that the peer does not support the EXTENDED_SETTINGS frame.
A peer that is able to parse the EXTENDED_SETTINGS frame MUST set this value
to 1 (0x01).</t>

<t>This setting MUST be sent before any of the frame types in <xref target="frames"/> are
sent, but those frames MAY be sent before the setting is acknowledged and
MAY be sent regardless of whether the peer has sent this setting.</t>

</section>
<section anchor="frames" title="Extension Frame Types">

<section anchor="settings-frame" title="EXTENDED_SETTINGS Frame">

<t>The EXTENDED_SETTINGS frame (type=0xTBD1) conveys configuration parameters that
affect how endpoints communicate, such as preferences and constraints
on peer behavior which occur in a form other than a 32-bit value.
The EXTENDED_SETTINGS frame is also used to acknowledge the
receipt of those parameters.  Individually, an EXTENDED_SETTINGS parameter can
also be referred to as a “setting”.</t>

<t>EXTENDED_SETTINGS parameters are not negotiated; they describe characteristics
of the sending peer, which are used by the receiving peer.  However, a negotiation
can be implied by the use of EXTENDED_SETTINGS – a peer uses EXTENDED_SETTINGS
to advertise a set of supported values.  The recipient can then choose which
entries from this list are also acceptable and proceed with the value it has
chosen.  (This choice could be announced in a field of an extension frame, or in
a value in SETTINGS.)</t>

<t>Different values for the same parameter can be advertised by each peer.  For
example, a server might support many different signing algorithms, while
a resource constrained client has only one or two that it can validate.</t>

<t>An EXTENDED_SETTINGS frame MAY be sent at any time by either endpoint over
the lifetime of the connection.</t>

<t>Each parameter in an EXTENDED_SETTINGS frame replaces any existing value for
that parameter.  Parameters are processed in the order in which they
appear, and a receiver of an EXTENDED_SETTINGS frame does not need to maintain
any state other than the current value of its parameters.  Therefore,
the value of a EXTENDED_SETTINGS parameter is the last value that is seen by a
receiver.</t>

<t>EXTENDED_SETTINGS parameters can request acknowledgement by the receiving peer.  To
enable this, the EXTENDED_SETTINGS frame defines the following flag:</t>

<t><list style="hanging">
  <t hangText='REQUEST_ACK (0x1):'>
  When set, bit 0 indicates that this frame contains values which the 
sender wants to know were understood and applied. For more information,
see <xref target="synchronization"/>.</t>
</list></t>

<t>Like SETTINGS frames, EXTENDED_SETTINGS frames always apply to a 
connection, never a single stream. The stream identifier for an 
EXTENDED_SETTINGS frame MUST be zero (0x0). If an endpoint receives an 
EXTENDED_SETTINGS frame whose stream identifier field is anything other 
than 0x0, the endpoint MUST respond with a connection error (Section 
5.4.1) of type PROTOCOL_ERROR.</t>

<t>The EXTENDED_SETTINGS frame affects connection state.  A badly formed or
incomplete EXTENDED_SETTINGS frame MUST be treated as a connection error
(Section 5.4.1) of type PROTOCOL_ERROR.</t>

<section anchor="extendedsettings-format" title="EXTENDED_SETTINGS Format">

<t>The payload of a SETTINGS frame consists of zero or more parameters, 
each consisting of an unsigned 16-bit setting identifier and a
length-prefixed binary value.</t>

<figure title="EXTENDED_SETTINGS frame payload" anchor="fig-ext-settings"><artwork><![CDATA[
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-------------------------------+-+-------------+---------------+
|        Identifier (16)        |B|        Length (15)          |
+---------------------------------|-------------+---------------+
|                          Contents (?)                       ...
+---------------------------------------------------------------+
]]></artwork></figure>

<t>A zero-length content indicates that the setting value is a Boolean
given by the B bit.  If Length is not zero, the B bit MUST be zero,
and MUST be ignored by receivers.  The initial value of each setting
is “false.”</t>

<t>An implementation MUST ignore the contents for any EXTENDED_SETTINGS
identifier it does not understand.</t>

</section>
</section>
<section anchor="ack" title="EXTENDED_SETTINGS_ACK Frame">

<t>The EXTENDED_SETTINGS_ACK frame acknowledges
receipt and application of specific values in the peer’s SETTINGS frame.
It contains a list of EXTENDED_SETTINGS identifiers which the sender
has understood and applied. This list MAY be empty.</t>

<t>Any EXTENDED_SETTINGS_ACK frame whose length is not a multiple of
two bytes MUST be treated as a connection error (<xref target="RFC7540"></xref> section 5.4.1)
of type <spanx style="verb">FRAME_SIZE_ERROR</spanx>.</t>

</section>
</section>
<section anchor="synchronization" title="Settings Synchronization">

<t>Some values in EXTENDED_SETTINGS benefit from or require an 
understanding of when the peer has received and applied the changed 
parameter values. In order to provide such synchronization timepoints, 
the recipient of a EXTENDED_SETTINGS frame MUST apply the updated 
parameters as soon as possible upon receipt. The values in the 
EXTENDED_SETTINGS frame MUST be processed in the order they appear, with 
no other frame processing between values. Unsupported parameters MUST be 
ignored.</t>

<t>Once all values have been processed, if the REQUEST_ACK flag was set, 
the recipient MUST immediately emit a EXTENDED_SETTINGS_ACK frame 
listing the identifiers whose values were understood and applied. (If 
none of the values were understood, the EXTENDED_SETTINGS_ACK frame will 
be empty, but MUST still be sent.) Upon receiving an 
EXTENDED_SETTINGS_ACK frame, the sender of the altered parameters can 
rely on the setting having been applied.</t>

<t>If the sender of an EXTENDED_SETTINGS frame with the <spanx style="verb">REQUEST_ACK</spanx> flag 
set does not receive an acknowledgement from a peer that has sent the 
<spanx style="verb">SETTINGS_EXTENDED_SETTINGS</spanx> setting within a reasonable amount of time, 
it MAY issue a connection error (<xref target="RFC7540"></xref> Section 5.4.1) of type 
SETTINGS_TIMEOUT. This error MUST NOT be sent if the peer has not 
previously advertised support for EXTENDED_SETTINGS.</t>

</section>
<section anchor="security" title="Security Considerations">

<t>Because these frames can be used to request that peers retain potentially-large
state, implementations need to use caution in their retention policies.  Values
which are not understood MUST be discarded in order to protect against increased
memory usage.  Specifications which make use of EXTENDED_SETTINGS MUST include details
about how the contents can be parsed and stored, and SHOULD include details about
how the information can be compressed and when it can safely be discarded.</t>

</section>
<section anchor="iana" title="IANA Considerations">

<t>This draft establishes one new registry and add three entries across two existing registries.</t>

<t>The HTTP/2 <spanx style="verb">SETTINGS_EXTENDED_SETTINGS</spanx> setting is registered in <xref target="iana-setting"/>.
Two frame types are registered in <xref target="iana-frame"/>.</t>

<section anchor="iana-extended-settings-values" title="Signature Methods">

<t>This document establishes a registry for HTTP/2 extended settings.  The
“HTTP/2 Extended Settings” registry manages a 16-bit space.  The “HTTP/2
Extended Settings” registry operates under the “Expert Review” policy
<xref target="RFC5226"></xref> for values in the range from 0x0000 to 0xefff, with values
between and 0xf000 and 0xffff being reserved for Experimental Use.</t>

<t>New registrations are advised to provide the following information:</t>

<t><list style="hanging">
  <t hangText='Name:'>
  A symbolic name for the setting.  Specifying a setting name is
optional.</t>
  <t hangText='Code:'>
  The 16-bit code assigned to the setting.</t>
</list></t>

<t>Specification:  An optional reference to a specification that
describes the use of the setting.</t>

<t>No entries are registered by this document.</t>

</section>
<section anchor="iana-setting" title="HTTP/2 SETTINGS_HTTP_CERT_AUTH Setting">

<t>The <spanx style="verb">SETTINGS_EXTENDED_SETTINGS</spanx> setting is registered in the “HTTP/2 Settings”
registry established in <xref target="RFC7540"></xref>.</t>

<t><list style="hanging">
  <t hangText='Name:'>
  SETTINGS_EXTENDED_SETTINGS</t>
  <t hangText='Code:'>
  0xSETTING-TBD</t>
  <t hangText='Initial Value:'>
  0</t>
  <t hangText='Specification:'>
  This document.</t>
</list></t>

</section>
<section anchor="iana-frame" title="New HTTP/2 Frames">

<t>Two new frame types are registered in the “HTTP/2 Frame Types” registry 
established in <xref target="RFC7540"></xref>. The entries in the following table are 
registered by this document.</t>

<figure anchor="fig-frame-table"><artwork><![CDATA[
+-----------------------+--------------+-------------------------+
| Frame Type            | Code         | Specification           |
+-----------------------+--------------+-------------------------+
| EXTENDED_SETTINGS     | 0xFRAME-TBD1 | {{settings-frame}}      |
| EXTENDED_SETTINGS_ACK | 0xFRAME-TBD2 | {{ack}}                 |
+-----------------------+--------------+-------------------------+
]]></artwork></figure>

</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor='RFC7540' target='http://www.rfc-editor.org/info/rfc7540'>
<front>
<title>Hypertext Transfer Protocol Version 2 (HTTP/2)</title>
<author initials='M.' surname='Belshe' fullname='M. Belshe'><organization /></author>
<author initials='R.' surname='Peon' fullname='R. Peon'><organization /></author>
<author initials='M.' surname='Thomson' fullname='M. Thomson' role='editor'><organization /></author>
<date year='2015' month='May' />
<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 perception of latency by introducing header field compression and allowing multiple concurrent exchanges on the same connection.  It also introduces unsolicited push of representations from servers to clients.</t><t>This specification is an alternative to, but does not obsolete, the HTTP/1.1 message syntax.  HTTP's existing semantics remain unchanged.</t></abstract>
</front>
<seriesInfo name='RFC' value='7540'/>
<seriesInfo name='DOI' value='10.17487/RFC7540'/>
</reference>



<reference  anchor='RFC5226' target='http://www.rfc-editor.org/info/rfc5226'>
<front>
<title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
<author initials='T.' surname='Narten' fullname='T. Narten'><organization /></author>
<author initials='H.' surname='Alvestrand' fullname='H. Alvestrand'><organization /></author>
<date year='2008' month='May' />
<abstract><t>Many protocols make use of identifiers consisting of constants and other well-known values.  Even after a protocol has been defined and deployment has begun, new values may need to be assigned (e.g., for a new option type in DHCP, or a new encryption or authentication transform for IPsec).  To ensure that such quantities have consistent values and interpretations across all implementations, their assignment must be administered by a central authority.  For IETF protocols, that role is provided by the Internet Assigned Numbers Authority (IANA).</t><t>In order for IANA to manage a given namespace prudently, it needs guidelines describing the conditions under which new values can be assigned or when modifications to existing values can be made.  If IANA is expected to play a role in the management of a namespace, IANA must be given clear and concise instructions describing that role.  This document discusses issues that should be considered in formulating a policy for assigning values to a namespace and provides guidelines for authors on the specific text that must be included in documents that place demands on IANA.</t><t>This document obsoletes RFC 2434.  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='26'/>
<seriesInfo name='RFC' value='5226'/>
<seriesInfo name='DOI' value='10.17487/RFC5226'/>
</reference>




    </references>

    <references title='Informative References'>





<reference anchor='I-D.bishop-httpbis-http2-additional-certs'>
<front>
<title>Secondary Certificate Authentication in HTTP/2</title>

<author initials='M' surname='Bishop' fullname='Mike Bishop'>
    <organization />
</author>

<author initials='M' surname='Thomson' fullname='Martin Thomson'>
    <organization />
</author>

<date month='October' day='31' year='2016' />

<abstract><t>TLS provides fundamental mutual authentication services for HTTP, supporting up to one server certificate and up to one client certificate associated to the session to prove client and server identities as necessary.  This draft provides mechanisms for providing additional such certificates at the HTTP layer when these constraints are not sufficient.  Many HTTP servers host content from several origins.  HTTP/2 [RFC7540] permits clients to reuse an existing HTTP connection to a server provided that the secondary origin is also in the certificate provided during the TLS [I-D.ietf-tls-tls13] handshake.  In many cases, servers will wish to maintain separate certificates for different origins but still desire the benefits of a shared HTTP connection.  Similarly, servers may require clients to present authentication, but have different requirements based on the content the client is attempting to access.  This document describes a how TLS exported authenticators [I-D.draft- sullivan-tls-exported-authenticator] can be used to provide proof of ownership of additional certificates to the HTTP layer to support both scenarios.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-bishop-httpbis-http2-additional-certs-02' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-bishop-httpbis-http2-additional-certs-02.txt' />
</reference>


<reference anchor="MS-HTTP2E" target="http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/[MS-HTTP2E].pdf">
  <front>
    <title>Hypertext Transfer Protocol Version 2 (HTTP/2) Extension</title>
    <author >
      <organization></organization>
    </author>
    <date year="2015" month="October"/>
  </front>
</reference>




<reference  anchor='RFC7838' target='http://www.rfc-editor.org/info/rfc7838'>
<front>
<title>HTTP Alternative Services</title>
<author initials='M.' surname='Nottingham' fullname='M. Nottingham'><organization /></author>
<author initials='P.' surname='McManus' fullname='P. McManus'><organization /></author>
<author initials='J.' surname='Reschke' fullname='J. Reschke'><organization /></author>
<date year='2016' month='April' />
<abstract><t>This document specifies &quot;Alternative Services&quot; for HTTP, which allow an origin's resources to be authoritatively available at a separate network location, possibly accessed with a different protocol configuration.</t></abstract>
</front>
<seriesInfo name='RFC' value='7838'/>
<seriesInfo name='DOI' value='10.17487/RFC7838'/>
</reference>



<reference anchor='I-D.ietf-httpbis-origin-frame'>
<front>
<title>The ORIGIN HTTP/2 Frame</title>

<author initials='M' surname='Nottingham' fullname='Mark Nottingham'>
    <organization />
</author>

<author initials='E' surname='Nygren' fullname='Erik Nygren'>
    <organization />
</author>

<date month='September' day='27' year='2016' />

<abstract><t>This document specifies the ORIGIN frame for HTTP/2, to indicate what origins are available on a given connection.  Note to Readers  Discussion of this draft 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/ .  Working Group information can be found at http://httpwg.github.io/ ; source code and issues list for this draft can be found at https://github.com/httpwg/http-extensions/labels/origin-frame .</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-httpbis-origin-frame-01' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-httpbis-origin-frame-01.txt' />
</reference>




    </references>




  </back>

<!-- ##markdown-source:
H4sIADXkKlgAA61abXPburH+rhn9B4zz4doTUZF94jTRnc69Tuw0np4kp7bS
9t5MJoFISEJDESpB2VYT97d3n12ApGRJSWeqcyaWSBBY7Muzzy6YJEm3U9kq
N0P1ZjT67cmJurirTJGZTF1fjEaX7/5wLVe8dUW3o8fj0twM1cVfRxfvzi/O
P8dB3U7m0kLPaZ6s1JMqGVs/c4tkVlUL+pqYMGviTVXZYuqTXFfGV/Qc/R2q
k8Hxs24npe9TV66GyhYT1+10O3ZRDlVVLn11Mhi8GJyQCKXRQ3W2WOSWhpNU
vtu5deXXaemWC9kFLdjtfDUrupwN1WVRmbIwVXIOwTCpr3SRfda5K2jllaHB
CztUHyuX9pR3ZVWaiadvqzm+fMITelnNXDnsdpRK8I8iAf1Qve2rl7xPuSb7
f2u/mrXLrpzqwv6DhcXttHTeQRLcNHNt86Ga23SmTd4Xtf3vPA7qp24OAQpX
zmmCG8MyXL1+9bvTp4P4/fTk5NmQtUVaa4+7TM77G4bA35NEZ5mFODpPUlNW
nke/vU6gvZOLoYhW6XJqqqHCI8MnTzJ3W+ROZ/014erLT148OX1y8eTF6cXr
Z8/OXidkrGfJ05cvB8nZ0+Nz+uf18+Png5PzFyevnnysl/rUX2STsJy44cGb
1YJEIodRo1IXfmJK9VvpyDguV382JRxRnahDcdejxjsPZJqWqZSqnes0OR5E
zT3/5XmtHWuqSa0bV9qpLZJJCTtCn/JfkiRKj31V6pTdJwRKZia2MF5VM9PE
Cj+rKqdSV1TaFkorT+6eG/XLCcVEpW50vjSKdqjIDyUW+uovM0sjqpn1iv73
y8nEptYUVZjoxqyUuTHlikYUU7X0FJ00NRZOXWlULZJfmNROQlzAl0mWRdCd
V7c2z1Vp/r609MwcD5L9Frm5E6HI5UmkZTpT2itdlnrllZvQmMwkC2eLin6W
itSA8O0raOI1LuCJepGe7MJEo9Ra0mqhS53nJsem1nTW7bDWeg9RpaduZ6Y0
PFwURwKRRkVv0FXhKroQdNvt8KCeGi9x9UaXVo9zk+SmmFYz5Rb67zQF+YRW
49yNaXLnDWmS8GFRmoq1hkmhhvHfTFopsgEpK19FmXk3HDmQBFfizskqLFIl
moHPzG2W5Qa/HgGESpctU340fL49oodJvrm/x6DLQn386YD91AtGI+WREW5n
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
yvEK5JlsJOe43NCVO4zCLw2fJ4ZDl1DttY78gIOx0JZehoHD4KCc1LhwVTxF
SnK8KMKv1aBfu3F8XPcgsBatKIfs7GoWyM7ToH3rcrz0AOby53Cy3TQeWwQC
sRghJrM+1WUmsNYGbxzAKD1F8gY/w0kv7ajbmRsqNFYkip6iorpuvy8R0/dc
f93TnhTEKdJ8maFVQLrIPd6LcktpYq+xpKBNPqwQBCH5Sz7npO/Xb95/+PV8
czLFcxFzCJO1Cvs4H2q+UuAc83D+C+0zrycI5bZuQo7mo6oHHmF1oe/rkxA5
gieDU3BYP8PJJCEcjtbiGZfAYIZsWhpUyeFNA7wR5LmZV7fCmsPzfuRxP3NK
1ToZkRkYsfjABcJG4s7NjBGt1z6WkSPjLQ/JAcZ9ZJ7XlJk0n8m/NdXMZVET
W15TE1xvqcilS8aktpZ0ox9EZvvYF84ZJxNS3u0cPHjVLgw4aOaZkzhTnjoW
ujh5DLQ+TED4v2cGnC5zVcKBw750cHGHI2d1Rdhibg8k5lbdzsfwEtknFn+d
XJRgTILAONwbDBBigzszmUwCZ4gvokR+ABcZ3E0wNHylD7mkOEU40GcEgzSW
oSJXH7xU5e8abwteyq347MYGTIrcbL0/1woTbtO9k3e4huoML/KNsVF+P6/p
ksezz4ACK06qtfsVcuxD5Hch792wcK9cJrPCCsEweEGK6FpoS4Qz+vZJ3BrK
DJWiMitOquozLWmtrb3AFd+LCac1vn1usrnGO9fE4noQcKHZctwYA8EH61DE
78+vLq4oQ38YvYkOFQOjfXg9+jeOhNejsWp8t/FYsI/gsk1M8fA61fbXLLp7
6TUTrZ11ywtWUgxzepEhD80jxt2iL/hlEP215MqgmtbhKMERwHI/JLWV0DqY
bUVut7NTEex40dJhsiYIwjEVvxK4zwXUZvtrd7/l8d6fm22fZj/ths53BaO0
fq6pvD3wPyXHw7wtCw/uuISFRxzTz2/fNo6472s5tszB3HptjhOeA52K+wdd
rP/QXnY2sVjghC1+335TdUzidDv/AgwUREHZLQAA

-->

</rfc>

