<?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.4.1 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-nygren-altsvc-fixes-00" category="info" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.5.0 -->
  <front>
    <title abbrev="Alt-Svc Fixes">Alt-Svc Fixes and Feature Candidates</title>
    <seriesInfo name="Internet-Draft" value="draft-nygren-altsvc-fixes-00"/>
    <author initials="E." surname="Nygren" fullname="Erik Nygren">
      <organization>Akamai</organization>
      <address>
        <email>erik+ietf@nygren.org</email>
      </address>
    </author>
    <date year="2021" month="June" day="11"/>
    <area>General</area>
    <workgroup>TODO Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>HTTP Alternative Services has become the primary mechanism for HTTP/3 upgrade,
but overlaps with and disagrees with other developing standards, such as the
HTTPS resource record in DNS. This document explores a set of potential fixes
and/or additional features for Alt-Svc. It is used to record and share thoughts,
and is not expected to progress on its own.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    mailing list (httpbis@ietf.org),
  which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/httpbis/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
  <eref target="https://github.com/MikeBishop/alt-svc-bis"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="overview" numbered="true" toc="default">
      <name>Overview</name>
      <t>Alt-Svc <xref target="AltSvc" format="default"/> was published in April of 2016.  Since then, it has
become the primary mechanism to upgrade connections to HTTP/3, at least until
HTTPS RRs <xref target="SVCB" format="default"/> are standardized and widely
supported.</t>
      <t>This brainstorms a set of potential fixes and feature candidates for an Alt-Svc
BIS.  In the spirit of brainstorming, some of the things in this list may be bad
ideas. One of the points of this document is to judge interest in each of these
items to determine what potential authors may be interested in including in a
draft.</t>
      <t>A number of these items were deferred out of the SVCB/HTTPS draft.  Others are
based on regrets from implementation experience with AltSvc.  A few are
potentially valuable features.</t>
      <t>It is not yet defined whether this should be a new header or can be done via
extensions to Alt-Svc as it exists today.</t>
      <t>A number of major clients have yet to implement Alt-Svc to other hostnames
fully, and some of this is due to concerns that they have with the current
specification.</t>
      <t>It may make sense to split this list into batches, but another option would be
to try and get all of these done at once even if as separate but cooperating
drafts.</t>
    </section>
    <section anchor="potential-scope-items" numbered="true" toc="default">
      <name>Potential Scope Items</name>
      <section anchor="incorporating-errata-and-editorial-improvements" numbered="true" toc="default">
        <name>Incorporating errata and Editorial improvements</name>
        <t>(Hopefully this is non-controversial.)</t>
        <t>Includes:</t>
        <ul spacing="normal">
          <li>Incorporate errata</li>
          <li>Reference RFC 8336 "ORIGIN Frames" (regarding disabling connection coalescing)</li>
          <li>Incorporate <xref target="I-D.pardue-httpbis-dont-be-clear" format="default"/></li>
          <li>...</li>
        </ul>
      </section>
      <section anchor="fix-alpn-handling" numbered="true" toc="default">
        <name>Fix ALPN handling</name>
        <t>The ALPN semantics in <xref target="AltSvc" format="default"/> are ambiguous, and problematic in some
interpretations. We should update <xref target="AltSvc" format="default"/> to give it well-defined semantics
that match the HTTPS RRs.  For example, specify that the ALPN <xref target="ALPN" format="default"/>
negotiated via the TLS handshake does not need to be the same as the ALPN
indicated in the AltSvc.</t>
        <t>(From <eref target="https://github.com/MikeBishop/dns-alt-svc/issues/246">HTTPS RR #246</eref> and other discussion
threads during HTTPS RR.  David Benjamin also has strong opinions on this
topic.)</t>
        <t>One option would be to pull in the text we landed on for the HTTPS/SVCB draft,
see <xref section="6.1" sectionFormat="of" target="SVCB" format="default"/>.  See also <xref target="I-D.thomson-tls-snip" format="default"/>.</t>
      </section>
      <section anchor="address-concerns-about-alt-svc-lifetime-bounding" numbered="true" toc="default">
        <name>Address concerns about Alt-Svc lifetime bounding</name>
        <t>Some people have expressed concerns that Alt-Svc allows a compromised Origin to
hold onto clients forever by continuing to offer updated Alt-Svc entries.  There
may be ways to reduce the vulnerability exposure here, such as by periodic
reconfirmation with the "real" origin or something it controls.  This is of
particular concern when an Alt-Svc record has a much longer lifetime than an
HTTPS RR.</t>
        <t>For example, if the Alt-Svc records were signed with a key published in DNS.
Records remain valid so long as the key that signed them is still claimed by the
domain.&nbsp; An unsigned record has a very short lifetime bound.</t>
      </section>
      <section anchor="support-ech" numbered="true" toc="default">
        <name>Support ECH</name>
        <t>The HTTPS RR <xref target="SVCB" format="default"/> is currently the only way to retrieve keys for Encrypted
Client Hello <xref target="ECH" format="default"/>.  To maintain security, it puts Alt-Svc
out-of-scope, since Alt-Svc cannot deliver ECH keys.</t>
        <t>Two options (and there may be more) include:</t>
        <ul spacing="normal">
          <li>Add an ech= parameter to Alt-Svc</li>
          <li>Defining some better integration between Alt-Svc and HTTPS RRs.  For example,
allow an AltSvc server name to be treated as an "AliasMode" reference to an
HTTPS record.</li>
        </ul>
      </section>
      <section anchor="better-interactions-with-https-record" numbered="true" toc="default">
        <name>Better Interactions with HTTPS Record</name>
        <t>This was deferred out of the HTTPS RR draft.  There are a number of design
options here, but requirements and pros/cons will want to be discussed in-detail
before proposing designs.  Supporting ECH and Alt-Svc together is a primary
goal.</t>
        <t>An important item here is which takes precedence, providing safe and
time-bounded ways to allow Alt-Svc to take precedence over HTTPS records.
Alt-Svc has the ability to be delivered in a user-specific manner -- useful
operationally, but potentially problematic for privacy.  HTTPS records can be
easily revalidated, which is more difficult with an Alt-Svc record.</t>
        <t>Providing a way for Alt-Svc to act as AliasMode references to HTTPS SvcMode
records seems like one clean way for interaction in that it avoids needing to
duplicate SVCB in Alt-Svc.  We would still need to address time-bounding and
trust considerations.</t>
      </section>
      <section anchor="http3-frame-definition" numbered="true" toc="default">
        <name>HTTP/3 Frame Definition</name>
        <t>The ALTSVC frame has not been defined for HTTP/3.  Perhaps it should be
<xref target="I-D.bishop-httpbis-altsvc-quic" format="default"/>. Alternatively, if the frame has not been
widely adopted, should it be deprecated from HTTP/2 instead?</t>
      </section>
      <section anchor="accept-alt-svc-request-header" numbered="true" toc="default">
        <name>Accept-Alt-Svc Request Header</name>
        <t>There is significant variation in client support for the Alt-Svc specification,
including some clients which only implement a subset of the specification.
Having an Accept-Alt-Svc request header that lists a set of supported Alt-Svc
features allows for extension of Alt-Svc but also allows for deprecation.</t>
        <t>If we don't deprecate the frames, we'd also need a SETTINGS equivalent.</t>
        <t>There are potential client fingerprinting concerns here, so we'll want to not go
too far with this.</t>
      </section>
      <section anchor="improvereplace-alt-used-header" numbered="true" toc="default">
        <name>Improve/Replace Alt-Used Header</name>
        <t>There is limited implementation support for Alt-Used out of privacy concerns.
It also only sends a subset of the Alt-Svc record being used, and there are
unclear interactions between Alt-Used and HTTPS RRs.</t>
        <t>Daniel Stenberg points out:</t>
        <ul empty="true" spacing="normal">
          <li>Alt-Used (RFC 7838 section 5) is a request header that only sends host name +
port number, with no hint if that port number is TCP or UDP (or ALPN name),
which makes at least one large HTTP/3 deployment trigger its Alt-Svc loop
detection when only switching protocols to h3.</li>
        </ul>
        <t>It is proposed that we replace or redefine Alt-Used and also define how it
interacts with SVCB.  Note that hostile origins have many knobs for getting this
information (e.g., encoding in hostnames, ports, or IPv6 addresses) so a goal
would be to allow non-hostile origins to get information on which Alt-Svc or
SVCB record is being used in a way that doesn't make things worse from a privacy
perspective.</t>
        <t>Some options include:</t>
        <ul spacing="normal">
          <li>Just send the whole Alt-Svc or SVCB binding used in the header</li>
          <li>
            <t>Have a param encoding an N-bit or N-character value for the record-id.  This
value would be sent as Alt-Used.  How many bits to use is an open question.
            </t>
            <ul spacing="normal">
              <li>Allowing for a dynamic length where the client chooses how many bits or
characters to include based on privacy budget is one attractive but
complicated option.  Server implementers would put the most important info
into earlier bits/characters.</li>
            </ul>
          </li>
        </ul>
        <t>The goal here is to allow for virtual hosting of alternative services, allowing
the server to know which alternative service was used (eg, for load feedback,
diagnostics/debugging, loop detection, and other operational purposes), but
without hacks like separate ports or IP addresses that leak information to
passive network observers.</t>
        <t>The usefulness of Alt-Used is currently limited by the fact that most servers
simply send ":443" and some clients won't consider any other alternative
offered.</t>
        <t>See some discussion and other options <eref target="https://github.com/MikeBishop/dns-alt-svc/issues/107">here</eref>.</t>
      </section>
      <section anchor="path-scoped-alt-svc" numbered="true" toc="default">
        <name>Path-Scoped Alt-Svc</name>
        <t>The largest-scope, most disruptive, and perhaps most controversial item would be
to allow Alt-Svc to be scoped to URL paths with a way to indicate that
transitions to use the Alt-Svc should be done synchronously.</t>
        <t>This is desired for use-cases of large content libraries where an Origin would
like to have clients use different endpoints for different objects while sharing
a single Origin.  This would also likely need negotiation.</t>
        <t>This use-case is similar to that served by <xref target="I-D.reschke-http-oob-encoding" format="default"/>,
which is one possible solution.  In that model, the origin retains control of
the entire namespace while delegating delivery of particular objects to other
endpoints.</t>
        <t>Extending Alt-Svc is another approach which might allow more flexibility.  For example:</t>
        <ul spacing="normal">
          <li>Client indicates via a request header (eg, Accept-*) or a SETTING that it supports this feature</li>
          <li>Server's Alt-Svc indicates that the path="/movies/MurderOnTheExampleExpress/"
should be accessed by a particular alternative service</li>
          <li>Server returns a new 3xx response header response header indicating that the
Alt-Svc should be used synchronously to fetch the response</li>
        </ul>
      </section>
      <section anchor="persist-and-caching-concerns" numbered="true" toc="default">
        <name>Persist and Caching Concerns</name>
        <t><xref target="AltSvc" format="default"/> defines the <tt>persist</tt> parameter.</t>
        <ul empty="true" spacing="normal">
          <li>Alternative services that are intended to be longer lived (such as those that
are not specific to the client access network) can carry the "persist"
parameter with a value "1" as a hint that the service is potentially useful
beyond a network configuration change.</li>
          <li>When alternative services are used to send a client to the most optimal
server, a change in network configuration can result in cached values becoming
suboptimal.  Therefore, clients SHOULD remove from cache all alternative
services that lack the "persist" flag with the value "1" when they detect such
a change, when information about network state is available.</li>
        </ul>
        <t>For some clients (e.g. cURL), detecting network changes is very tricky. Certain
clients default to behaving like persist=1 for all alternatives.</t>
        <t>The RFC text today seems to imply that servers factor in client network
properties when deciding what to advertise. That is not true for all
deployments. The recommendation that a client invalidate Alt-Svc cache entries
based on their own network state changes can seem mistaken today. The situation
can potentially get worse with protocol evolution (connection migration,
multipath, etc).</t>
        <t>This feature was designed to address the "mistaken mapping" scenario, where
either DNS mapping or anycast landed you at one POP but the server knows another
one is closer to you:  You're in Seattle, your VPN endpoint and DNS server is in
Sacramento, and so DNS resolution gives you a CDN node in California.  The
California endpoint gives you the unicast IP of the Seattle endpoint as a
friendly shove.</t>
        <t>Similarly, it's one of the best work-around options for off-net DNS (via DoH,
ODoH, etc.) if there is a CDN endpoint very close to the user's network, but
doesn't work so well if the Alt-Svc record keeps being used after a network
change.</t>
        <t>When you're no longer in the same network environment, we can trust mapping
again.  What is the signal this redirect is no longer useful if clients can't
reliably detect network changes?</t>
      </section>
      <section anchor="radical-simplification" numbered="true" toc="default">
        <name>Radical Simplification</name>
        <t>If we are able to reach wide deployment and use of the HTTPS record, it may
supersede many use cases for Alt-Svc.  We should reassess the needs from the new
baseline to see whether Alt-Svc can be radically simplified.  (Chrome never
fully implemented Alt-Svc redirection anyway.)</t>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Informative References</name>
      <reference anchor="SVCB">
        <front>
          <title>Service binding and parameter specification via the DNS (DNS SVCB and HTTPS RRs)</title>
          <author fullname="Ben Schwartz">
            <organization>Google</organization>
          </author>
          <author fullname="Mike Bishop">
            <organization>Akamai Technologies</organization>
          </author>
          <author fullname="Erik Nygren">
            <organization>Akamai Technologies</organization>
          </author>
          <date day="21" month="April" year="2021"/>
          <abstract>
            <t>   This document specifies the "SVCB" and "HTTPS" DNS resource record
   (RR) types to facilitate the lookup of information needed to make
   connections to network services, such as for HTTPS origins.  SVCB
   records allow a service to be provided from multiple alternative
   endpoints, each with associated parameters (such as transport
   protocol configuration and keys for encrypting the TLS ClientHello).
   They also enable aliasing of apex domains, which is not possible with
   CNAME.  The HTTPS RR is a variation of SVCB for HTTPS and HTTP
   origins.  By providing more information to the client before it
   attempts to establish a connection, these records offer potential
   benefits to both performance and privacy.

   TO BE REMOVED: This document is being collaborated on in Github at:
   https://github.com/MikeBishop/dns-alt-svc
   (https://github.com/MikeBishop/dns-alt-svc).  The most recent working
   version of the document, open issues, etc. should all be available
   there.  The authors (gratefully) accept pull requests.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-svcb-https-05"/>
      </reference>
      <reference anchor="AltSvc">
        <front>
          <title>HTTP Alternative Services</title>
          <author fullname="M. Nottingham" initials="M." surname="Nottingham">
            <organization/>
          </author>
          <author fullname="P. McManus" initials="P." surname="McManus">
            <organization/>
          </author>
          <author fullname="J. Reschke" initials="J." surname="Reschke">
            <organization/>
          </author>
          <date month="April" year="2016"/>
          <abstract>
            <t>This document specifies "Alternative Services" 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.pardue-httpbis-dont-be-clear">
        <front>
          <title>Reserving the clear ALPN Protocol ID</title>
          <author fullname="Lucas Pardue">
            <organization>Cloudflare</organization>
          </author>
          <author fullname="Anthony Ramine">
            <organization>Cloudflare</organization>
          </author>
          <date day="15" month="March" year="2021"/>
          <abstract>
            <t>   HTTP Alternative Services (Alt-Svc) are identified by a tuple of
   Application-Protocol Layer Negotiation (ALPN) protocol identifier, a
   host and a port.  The wire format for Alt-Svc is defined in ABNF and
   encodes this tuple or the keyword "clear", which has a special
   meaning.  This memo reserves the ALPN protocol identifier "clear" to
   reduce the chances of accidental aliasing with the "clear" keyword.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-pardue-httpbis-dont-be-clear-00"/>
      </reference>
      <reference anchor="ALPN">
        <front>
          <title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
          <author fullname="S. Friedl" initials="S." surname="Friedl">
            <organization/>
          </author>
          <author fullname="A. Popov" initials="A." surname="Popov">
            <organization/>
          </author>
          <author fullname="A. Langley" initials="A." surname="Langley">
            <organization/>
          </author>
          <author fullname="E. Stephan" initials="E." surname="Stephan">
            <organization/>
          </author>
          <date month="July" year="2014"/>
          <abstract>
            <t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7301"/>
        <seriesInfo name="DOI" value="10.17487/RFC7301"/>
      </reference>
      <reference anchor="I-D.thomson-tls-snip">
        <front>
          <title>Secure Negotiation of Incompatible Protocols in TLS</title>
          <author fullname="Martin Thomson">
            <organization>Mozilla</organization>
          </author>
          <date day="3" month="January" year="2021"/>
          <abstract>
            <t>   An extension is defined for TLS that allows a client and server to
   detect an attempt to force the use of less-preferred application
   protocol even where protocol options are incompatible.  This
   supplements application-layer protocol negotiation, which allows
   choices between compatible protocols to be authenticated.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-thomson-tls-snip-01"/>
      </reference>
      <reference anchor="ECH">
        <front>
          <title>TLS Encrypted Client Hello</title>
          <author fullname="Eric Rescorla">
            <organization>RTFM, Inc.</organization>
          </author>
          <author fullname="Kazuho Oku">
            <organization>Fastly</organization>
          </author>
          <author fullname="Nick Sullivan">
            <organization>Cloudflare</organization>
          </author>
          <author fullname="Christopher A. Wood">
            <organization>Cloudflare</organization>
          </author>
          <date day="8" month="March" year="2021"/>
          <abstract>
            <t>   This document describes a mechanism in Transport Layer Security (TLS)
   for encrypting a ClientHello message under a server public key.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-tls-esni-10"/>
      </reference>
      <reference anchor="I-D.bishop-httpbis-altsvc-quic">
        <front>
          <title>ALTSVC Frame in HTTP/QUIC</title>
          <author fullname="Mike Bishop">
            <organization>Akamai</organization>
          </author>
          <date day="15" month="May" year="2020"/>
          <abstract>
            <t>   [RFC7838] defines the ALTSVC frame for HTTP/2 [RFC7540].  This frame
   is equally applicable to HTTP/QUIC ([I-D.ietf-quic-http]), but needs
   to be separately registered.  This document describes the ALTSVC
   frame for HTTP/QUIC.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-bishop-httpbis-altsvc-quic-01"/>
      </reference>
      <reference anchor="I-D.reschke-http-oob-encoding">
        <front>
          <title>'Out-Of-Band' Content Coding for HTTP</title>
          <author fullname="Julian F. Reschke">
            <organization>greenbytes GmbH</organization>
          </author>
          <author fullname="Salvatore Loreto">
            <organization>Ericsson</organization>
          </author>
          <date day="24" month="June" year="2017"/>
          <abstract>
            <t>   This document describes an Hypertext Transfer Protocol (HTTP) content
   coding that can be used to describe the location of a secondary
   resource that contains the payload.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-reschke-http-oob-encoding-12"/>
      </reference>
    </references>
    <section numbered="false" anchor="acknowledgments" toc="default">
      <name>Acknowledgments</name>
      <t>Martin Thomson, Lucas Pardue, and Mike Bishop reviewed and commented on <eref target="https://docs.google.com/document/d/1QNaXduqohACK93qLPpxkPJ2rHQMgWqUPL-DkZS11htQ/edit?ts=60a5dc92#">an
early version of this
draft</eref>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
