<?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.5 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schinazi-httpbis-link-local-uri-bcp-02" category="bcp" consensus="true" submissionType="IETF" obsoletes="6874" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.4 -->
  <front>
    <title abbrev="Link-Local URI Connectivity">Best Practices for Link-Local Connectivity in URI-Based Protocols</title>
    <seriesInfo name="Internet-Draft" value="draft-schinazi-httpbis-link-local-uri-bcp-02"/>
    <author initials="D." surname="Schinazi" fullname="David Schinazi">
      <organization>Google LLC</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
          <region>CA</region>
          <code>94043</code>
          <country>United States of America</country>
        </postal>
        <email>dschinazi.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2024" month="February" day="22"/>
    <area>Web and Internet Transport</area>
    <workgroup>HTTP</workgroup>
    <keyword>IPv6 deployment</keyword>
    <keyword>URI</keyword>
    <keyword>URL</keyword>
    <keyword>mDNS</keyword>
    <abstract>
      <?line 67?>

<t>Link-local IP connectivity allows hosts on the same network to communicate with
each other without the need for centralized IP addressing infrastructure. The
IP prefixes 169.254.0.0/16 and fe80::/10 were reserved for this purpose.
However, both IP versions have limitations that make link-local addresses
unideal for usage with URI-based protocols. This document provides guidance for
how best to enable link-local connectivity in such protocols. This document
also obsoletes RFC 6874, a previous attempt at solving this issue.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://DavidSchinazi.github.io/draft-schinazi-httpbis-link-local-uri-bcp/draft-schinazi-httpbis-link-local-uri-bcp.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-schinazi-httpbis-link-local-uri-bcp/"/>.
      </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/DavidSchinazi/draft-schinazi-httpbis-link-local-uri-bcp"/>.</t>
    </note>
  </front>
  <middle>
    <?line 78?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>To simplify configuration of new hardware, manufacturers often print
configuration URLs on labels to allow the user to reach the configuration page
by copying the URL into their browser. This is often simplified further by
encoding the URL in a QR code and asking the user to scan it with a smartphone.</t>
      <t>While the majority of IP networking uses globally routable addresses, those
rely on addressing infrastructure that isn't always available. For example, two
hosts connected via a direct peer-to-peer link may not have access to an entity
assigning IP addresses through DHCP or IPv6 router advertisements. Connectivity
is often desirable in such scenarios, and can be accomplished using link-local
addresses. This feature was added in IPv6 <xref target="RFC4007"/> and retroactively
backported to IPv4 <xref target="RFC3927"/>. However, these addresses have limitations that
make them unsuitable for use in URLs, as described in <xref target="limitations"/>.</t>
      <t>This document obsoletes <xref target="RFC6874"/>, a previous attempt at solving this
problem that failed, as described in <xref target="attempt-6874"/>. This document provides
recommendations that solve this problem in <xref target="recommendations"/>.</t>
      <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>
    <section anchor="limitations">
      <name>Limitations</name>
      <t>Since there is clear value in being able to configure new devices in the
absence of IP addressing infrastructure, there is interest in supporting
link-local connectivity via URLs. However, link-local addresses have
limitations in this regard.</t>
      <section anchor="limitations-of-link-local-ipv4-addresses">
        <name>Limitations of Link-Local IPv4 Addresses</name>
        <t>In order to simplify implementations (and as recommended in <xref target="RFC3927"/>), most
implementations disable IPv4 link-local addresses any time globally routeable
addresses are available. This can lead to instability of link-local addresses.
Additionally, these addresses are generated randomly with fewer than 16 bits of
entropy, making conflicts statistically likely.</t>
        <t>Both of these limitations make it impossible for a device to print a
configuration URL on its packaging that uses a static IPv4 link-local address.</t>
      </section>
      <section anchor="limitations-of-link-local-ipv6-addresses">
        <name>Limitations of Link-Local IPv6 Addresses</name>
        <t>In IPv6, link-local addresses are generated randomly with 64 bits of entropy,
making conflicts statistically unlikely. Additionally, in IPv6 the use of
multiple addresses per interface is encouraged. This allows link-local
addresses to remain even when globally routable addresses change.</t>
        <t>However, IPv6 introduced the concept of a scope zone (<xref section="5" sectionFormat="of" target="RFC4007"/>)
and requires that every host include a zone identifier when sending to any IPv6
link-local address. While <xref target="RFC4007"/> defined a "default" zone, that is not
widely supported: most operating systems still require the scope identifier
when making a socket operation on IPv6 link-local addresses. This means that
IPv6 link-local addresses have to be accompanied by a zone identifier from the
moment that the address enters the process.</t>
        <t>Unfortunately, IPv6 address support was added to URLs <xref target="RFC2732"/> prior to the
creation of IPv6 scoped addresses, leaving the URL format for IPv6 addresses
incapable of representing zone identifiers. This effectively prevented the use
of link-local IPv6 addresses in URLs.</t>
      </section>
    </section>
    <section anchor="background">
      <name>Background</name>
      <t>Before diving into potential solutions to these limitations, readers will
benefit from the following relevant historical context.</t>
      <section anchor="uris-urls-and-a-tale-of-two-specifications">
        <name>URIs, URLs, and A Tale of Two Specifications</name>
        <t>URIs and URLs were created early in the development of the World-Wide Web and
were brought to the IETF in 1994 (see <xref target="RFC1630"/> and <xref target="RFC1738"/>). Over the
years, the IETF maintained and evolved these specifications. In particular,
support for IPv6 addresses was added in 1999 (see <xref target="RFC2732"/>). The IETF
published an updated URI specification in 2005 (<xref target="RFC3986"/>).</t>
        <t>In 2004, a group of browser vendors created the WHATWG, an effort to evolve
Web-related specifications outside of the W3C or IETF. The WHATWG eventually
forked the URL specification from IETF by creating the WHATWG URL Living
Standard (<xref target="URL-LS"/>). From that point onwards, even though development of URIs
and URLs continued at the IETF, this work often didn't lead to corresponding
implementation changes in Web browsers.</t>
        <t>Almost two decades later, the situation hasn't changed. The IETF still
maintains URL/URI specifications that are authoritative in all contexts except
the Web, while the WHATWG maintains a URL specification that is authoritative
for Web browsers. Note that the use of the word "authoritative" here is
somewhat of a misnomer: neither of these standards bodies have any actual
authority to enforce that their specifications be followed, and instead rely on
implementers choosing to follow the specification.</t>
      </section>
      <section anchor="attempt-6874">
        <name>IPv6 Link-Local Addresses in URLs</name>
        <t>As the Web gained in popularity, an increasing number of networked devices such
as routers or printers started to incorporate Web servers as their primary
means of configuration. Many of these devices function properly without
centralized IP addressing infrastructure, so there was interest in
communicating with them using IPv6 link-local addresses.</t>
        <t>In 2004 and 2005, an effort was started to allow representing zone identifiers
in URIs <xref target="URI-ZONE-EARLY"/>. That proposal leveraged
the "IPvFuture" feature of the URI specification (see <xref section="3.2.2" sectionFormat="of" target="RFC3986"/>), and example of the syntax is "[v1.fe80::a+en1]". That document was
never published but its format ended up being used by CUPS in 2005
(<xref target="CUPS"/>).</t>
        <t>Over the course of 2012 and 2013, a revival of this effort led to the creation
and publication of <xref target="RFC6874"/>, an update to the IETF URL specification that
defines how to represent IP zone identifiers in URLs. This version used the
IPv6address syntax in URIs, an example of it being "[fe80::a%25en1]".</t>
        <t>The majority of Web browsers did not implement either of these changes. The
main concern from browsers what that such a change would require modifying many
different components of the browser, with the associated security risks and
maintenance costs. Almost all browsers came to the conclusion that such a
change was not worth the effort. Further examples of what made <xref target="RFC6874"/>
complex to implement are listed in <xref section="2" sectionFormat="of" target="DRAFT-6874BIS"/>. After browsers decided not to
implement it, the WHAT URL Living Standard was updated to mark the zone
identifier as "intentionally omitted" (see <xref target="URL-ZONE-TRACKER1"/>). The WHATWG
subsequently rejected a request to add zone identifiers to their URL
specification (see <xref target="URL-ZONE-TRACKER2"/>).</t>
      </section>
      <section anchor="further-attempts">
        <name>Further Attempts</name>
        <t>After it was clear that most browser were not going to implement <xref target="RFC6874"/>,
another attempt was made to modify the URI RFC: <xref target="DRAFT-6874BIS"/>. While this
attempted to address some of the difficulties in implementing <xref target="RFC6874"/>, it
did not address the fact that browsers were not willing to start such a complex
implementation effort given the small usage it was expected to receive. That
document failed to achieve consensus and was not published.</t>
        <t>Later, an attempt was made to address the generic question of how users can
input IPv6 link-local addresses into software interfaces
<xref target="DRAFT-ZONE-UI"/>. In this model, the zone
identifier is considered independently of the IPv6 address itself. In the case
of Web browsers, the zone identifier would not be considered part of a URI.
However, this does not in itself resolve all the difficulties in considering
the zone identifier as part of the Web security model, as described in the next
section.</t>
      </section>
    </section>
    <section anchor="handling-ipv6-link-local-addresses-in-web-browsers">
      <name>Handling IPv6 Link-Local Addresses in Web Browsers</name>
      <t>Browsers operate differently from simple command-line tools such as ping, ssh
or netcat. These tools generally take a destination as input from the
command-line, resolve that destination string into an IP address (or list of
addresses) via a function such as getaddrinfo (<xref target="RFC3493"/>), and then
immediately perform socket operations using that address. Supporting zone
identifiers in these scenarios is pretty simple because the result of
resolution is only used in socket operations.</t>
      <t>One might assume that Web browsers operate similarly, but that would be
incorrect. Browsers follow the Web security model, which is based around the
concept of an Origin (<xref target="RFC6454"/>). The origin is propagated throughout the
browser software: it is involved in whether to use a resource in the HTTP cache
(<xref target="RFC9111"/>), it is checked when deciding to allow sharing information
(<xref target="CORS"/>), it is used to save security policies (<xref target="RFC6797"/>), and in many
other cases beyond making socket operations. Additionally, all the portions of
the origin are sent to the server in HTTP (<xref target="RFC9110"/>).</t>
      <t>In contrast, the zone identifier is only valid and meaningful in a given node.
As specified in <xref target="RFC4007"/>, the zone identifier from a given node cannot be
used by other node and it cannot be sent over the wire. This makes it
fundamentally incompatible with the concept of Origins.</t>
      <t>The solution in <xref target="RFC6874"/> requires the browser to treat the zone identifier
as part of the origin in some contexts (such as when determining uniqueness of
a name), but not in others (such as when sending on the wire). This
significantly increases implementation complexity and security risks.</t>
      <t>Conversely, the proposal in <xref target="DRAFT-6874BIS"/> sends the zone identifier over
the wire, and suggests that the recipient not make use of it. This creates new
implementation complexity, now on the HTTP server. It also doesn't address the
multitude of implementation changes required to incorporate the changes in URL
parsing.</t>
      <t>In all cases, implementation matters are further complicated by the fact that
the percent character ("%") is used in URLs for percent-encoding. While each
proposal offered a different resolution to this encoding issues, all of them
have significant downsides.</t>
      <t>Regardless of which specific mechanism is used to encode zone identifiers in
URIs, the complexity of Web browsers and widespread use of Origins make it
impossible to implement zone identifiers without large engineering efforts.</t>
      <t>Seperately, the proposal in <xref target="DRAFT-ZONE-UI"/> would require querying the user
from many distinct browser components to determine the correct zone identifier
to use. That is particularly difficult to implement in multi-process browser
architectures. It would also confuse the user when they receive a popup for a
link-local address that appeared in HTML.</t>
    </section>
    <section anchor="goals">
      <name>Goal Definition</name>
      <t>However, the top-level goal of all these efforts is to allow link-local
communication via URLs. That does not require encoding IPv6 link-local
addresses in URIs. All that is is needed is for the URI to contain information
that resolves to the correct link-local address.</t>
      <t>The deployment of IPv6 happened in part because it did not require users be
aware of IPv6 addresses, nor remember them, nor type them into browser address
bars. It happened transparently to the user, thanks to the DNS: once it was
possible to query IPv6 addresses from the DNS (see <xref target="RFC3596"/>), users could
browse the Web over IPv6 without having to ever see an IPv6 address. Surfacing
IPv6 link-local addresses to users is not required.</t>
    </section>
    <section anchor="recommendations">
      <name>Recommendations for Link-Local Connectivity</name>
      <t>The concept of address resolution also applies to local connectivity in the
absence of centralized IP addressing infrastructure, because DNS hostnames can
resolve to link-local addresses. In the absence of centralized DNS
infrastructure, mDNS (see <xref target="RFC6762"/>) can be used to resolve link-local
addresses from instance names.</t>
      <t>Devices that are reachable over IP link-local connectivity and that host
servers of URI-based protocols <bcp14>SHOULD</bcp14> create an mDNS local instance name for
themselves and <bcp14>SHOULD</bcp14> respond to mDNS queries for that instance name.</t>
      <t>If the instance name is defined to be unique (for example by including a unique
serial number), it can then be encoded in an URL that can be printed on the
device packaging, either as text or in the form of a QR code. Otherwise,
devices can rely on mDNS conflict resolution (<xref section="9" sectionFormat="of" target="RFC6762"/>) to
ensure unique names, and then browse for the relevant service (<xref section="4" sectionFormat="of" target="RFC6763"/>). However, Web browsers don't currently perform this browsing, so
picking a name that guarantees uniqueness is <bcp14>RECOMMENDED</bcp14>.</t>
      <t>Following these recommendations solves the goals described in <xref target="goals"/> without
requiring any changes in Web browser software.</t>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <t>DNS Service Discovery relies on either link-local multicast (in the case of
mDNS) or on service registration infrastructure (such as
<xref target="DNSSD-SRP"/>). If a network blocks link-local multicast
and does not offer service registration infrastructure as an alternative, then
DNS service discovery cannot function. Because of this, the recommendations in
this document won't work on such networks.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Many aspects of the Web security model rely on using a name as a root of
security. This has the following consequences:</t>
      <ul spacing="normal">
        <li>
          <t>name unicity matters, as conflicts can lead the two devices sharing a name to
incorrectly share a security boundary.</t>
        </li>
        <li>
          <t>HTTPS/WebPKI security currently relies on globally-registered names, and is
therefore not available for link-local connectivity. Such link-local
communication is therefore inherently not authenticated. Future work might
define mechanisms to trust local anchors, which would enable such security.</t>
        </li>
      </ul>
      <t>Fundamentally, mDNS has similar security properties as the underlying
link-local address it resolves to.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC6762">
          <front>
            <title>Multicast DNS</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>As networked devices become smaller, more portable, and more ubiquitous, the ability to operate with less configured infrastructure is increasingly important. In particular, the ability to look up DNS resource record data types (including, but not limited to, host names) in the absence of a conventional managed DNS server is useful.</t>
              <t>Multicast DNS (mDNS) provides the ability to perform DNS-like operations on the local link in the absence of any conventional Unicast DNS server. In addition, Multicast DNS designates a portion of the DNS namespace to be free for local use, without the need to pay any annual fee, and without the need to set up delegations or otherwise configure a conventional DNS server to answer for those names.</t>
              <t>The primary benefits of Multicast DNS names are that (i) they require little or no administration or configuration to set them up, (ii) they work when no infrastructure is present, and (iii) they work during infrastructure failures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6762"/>
          <seriesInfo name="DOI" value="10.17487/RFC6762"/>
        </reference>
        <reference anchor="RFC6763">
          <front>
            <title>DNS-Based Service Discovery</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document specifies how DNS resource records are named and structured to facilitate service discovery. Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6763"/>
          <seriesInfo name="DOI" value="10.17487/RFC6763"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="URL-LS" target="https://url.spec.whatwg.org/">
          <front>
            <title>URL-LS</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
          <seriesInfo name="WHATWG" value="Living Standard"/>
        </reference>
        <reference anchor="CORS" target="https://fetch.spec.whatwg.org/#http-cors-protocol">
          <front>
            <title>CORS protocol</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
          <seriesInfo name="WHATWG" value="Living Standard"/>
        </reference>
        <reference anchor="URL-ZONE-TRACKER1" target="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27234">
          <front>
            <title>Support IPv6 link-local addresses?</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="URL-ZONE-TRACKER2" target="https://github.com/whatwg/url/issues/392">
          <front>
            <title>Support IPv6 zone identifiers</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC4007">
          <front>
            <title>IPv6 Scoped Address Architecture</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <author fullname="T. Jinmei" initials="T." surname="Jinmei"/>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="B. Zill" initials="B." surname="Zill"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>This document specifies the architectural characteristics, expected behavior, textual representation, and usage of IPv6 addresses of different scopes. According to a decision in the IPv6 working group, this document intentionally avoids the syntax and usage of unicast site-local addresses. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4007"/>
          <seriesInfo name="DOI" value="10.17487/RFC4007"/>
        </reference>
        <reference anchor="RFC3927">
          <front>
            <title>Dynamic Configuration of IPv4 Link-Local Addresses</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="E. Guttman" initials="E." surname="Guttman"/>
            <date month="May" year="2005"/>
            <abstract>
              <t>To participate in wide-area IP networking, a host needs to be configured with IP addresses for its interfaces, either manually by the user or automatically from a source on the network such as a Dynamic Host Configuration Protocol (DHCP) server. Unfortunately, such address configuration information may not always be available. It is therefore beneficial for a host to be able to depend on a useful subset of IP networking functions even when no address configuration is available. This document describes how a host may automatically configure an interface with an IPv4 address within the 169.254/16 prefix that is valid for communication with other devices connected to the same physical (or logical) link.</t>
              <t>IPv4 Link-Local addresses are not suitable for communication with devices not directly connected to the same physical (or logical) link, and are only used where stable, routable addresses are not available (such as on ad hoc or isolated networks). This document does not recommend that IPv4 Link-Local addresses and routable addresses be configured simultaneously on the same interface. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3927"/>
          <seriesInfo name="DOI" value="10.17487/RFC3927"/>
        </reference>
        <reference anchor="RFC6874">
          <front>
            <title>Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</title>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document describes how the zone identifier of an IPv6 scoped address, defined as in the IPv6 Scoped Address Architecture (RFC 4007), can be represented in a literal IPv6 address and in a Uniform Resource Identifier that includes such a literal address. It updates the URI Generic Syntax specification (RFC 3986) accordingly.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6874"/>
          <seriesInfo name="DOI" value="10.17487/RFC6874"/>
        </reference>
        <reference anchor="RFC2732">
          <front>
            <title>Format for Literal IPv6 Addresses in URL's</title>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="December" year="1999"/>
            <abstract>
              <t>This document defines the format for literal IPv6 Addresses in URL's for implementation in World Wide Web browsers. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2732"/>
          <seriesInfo name="DOI" value="10.17487/RFC2732"/>
        </reference>
        <reference anchor="RFC1630">
          <front>
            <title>Universal Resource Identifiers in WWW: A Unifying Syntax for the Expression of Names and Addresses of Objects on the Network as used in the World-Wide Web</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <date month="June" year="1994"/>
            <abstract>
              <t>This document defines the syntax used by the World-Wide Web initiative to encode the names and addresses of objects on the Internet. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1630"/>
          <seriesInfo name="DOI" value="10.17487/RFC1630"/>
        </reference>
        <reference anchor="RFC1738">
          <front>
            <title>Uniform Resource Locators (URL)</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="M. McCahill" initials="M." surname="McCahill"/>
            <date month="December" year="1994"/>
            <abstract>
              <t>This document specifies a Uniform Resource Locator (URL), the syntax and semantics of formalized information for location and access of resources via the Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1738"/>
          <seriesInfo name="DOI" value="10.17487/RFC1738"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="URI-ZONE-EARLY">
          <front>
            <title>Formats for IPv6 Scope Zone Identifiers in Literal Address Formats</title>
            <author fullname="Bill Fenner (ˢˣˠ)" initials="B." surname="Fenner">
         </author>
            <author fullname="Martin J. Dürst" initials="M. J." surname="Dürst">
         </author>
            <date day="24" month="October" year="2005"/>
            <abstract>
              <t>This document specifies the format to be used when specifying a zone
   identifier with a literal IPv6 address in URIs and IRIs, and in SMTP
   and Internet Mail Messages.  While this combination is expected to be
   needed rarely, it is useful to specify the exact syntax.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fenner-literal-zone-02"/>
        </reference>
        <reference anchor="CUPS">
          <front>
            <title>An IPvFuture Syntax for IPv6 Link-Local Addresses</title>
            <author fullname="Michael Sweet" initials="M." surname="Sweet">
              <organization>Apple Inc.</organization>
            </author>
            <date day="22" month="November" year="2013"/>
            <abstract>
              <t>   This document describes how the zone identifier of an IPv6 scoped
   address, defined as &lt;zone_id&gt; in the IPv6 Scoped Address Architecture
   (RFC 4007), can be represented in a literal IPv6 address and in a
   Uniform Resource Identifier that includes such a literal address.  It
   documents a long-standing usage of the IPvFuture extension point
   provided in the Uniform Resource Identifier (URI) syntax
   specification [RFC3986].

   [ Editor's note: This draft documents the IPvFuture format originally
   defined in [LITERAL-ZONE] and used by CUPS since 2005.  A separate,
   incompatible format was defined and published in RFC 6874. ]

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sweet-uri-zoneid-01"/>
        </reference>
        <reference anchor="DRAFT-6874BIS">
          <front>
            <title>Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</title>
            <author fullname="Brian E. Carpenter" initials="B. E." surname="Carpenter">
         </author>
            <author fullname="Stuart Cheshire" initials="S." surname="Cheshire">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Bob Hinden" initials="R. M." surname="Hinden">
              <organization>Check Point Software</organization>
            </author>
            <date day="2" month="July" year="2023"/>
            <abstract>
              <t>   This document describes how the zone identifier of an IPv6 scoped
   address, defined as &lt;zone_id&gt; in the IPv6 Scoped Address Architecture
   (RFC 4007), can be represented in a literal IPv6 address and in a
   Uniform Resource Identifier that includes such a literal address.  It
   updates the URI Generic Syntax and Internationalized Resource
   Identifier specifications (RFC 3986, RFC 3987) accordingly, and
   obsoletes RFC 6874.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-6man-rfc6874bis-09"/>
        </reference>
        <reference anchor="DRAFT-ZONE-UI">
          <front>
            <title>Entering IPv6 Zone Identifiers in User Interfaces</title>
            <author fullname="Brian E. Carpenter" initials="B. E." surname="Carpenter">
         </author>
            <author fullname="Bob Hinden" initials="R. M." surname="Hinden">
              <organization>Check Point Software</organization>
            </author>
            <date day="17" month="February" year="2024"/>
            <abstract>
              <t>   This document describes how the zone identifier of an IPv6 scoped
   address, defined in the IPv6 Scoped Address Architecture (RFC 4007),
   should be entered into a user interface.  It obsoletes RFC 6874.

Discussion Venue

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

   Discussion of this document takes place on the 6MAN mailing list
   (ipv6@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/browse/ipv6/
   (https://mailarchive.ietf.org/arch/browse/ipv6/).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-carpenter-6man-zone-ui-01"/>
        </reference>
        <reference anchor="RFC3493">
          <front>
            <title>Basic Socket Interface Extensions for IPv6</title>
            <author fullname="R. Gilligan" initials="R." surname="Gilligan"/>
            <author fullname="S. Thomson" initials="S." surname="Thomson"/>
            <author fullname="J. Bound" initials="J." surname="Bound"/>
            <author fullname="J. McCann" initials="J." surname="McCann"/>
            <author fullname="W. Stevens" initials="W." surname="Stevens"/>
            <date month="February" year="2003"/>
            <abstract>
              <t>The de facto standard Application Program Interface (API) for TCP/IP applications is the "sockets" interface. Although this API was developed for Unix in the early 1980s it has also been implemented on a wide variety of non-Unix systems. TCP/IP applications written using the sockets API have in the past enjoyed a high degree of portability and we would like the same portability with IPv6 applications. But changes are required to the sockets API to support IPv6 and this memo describes these changes. These include a new socket address structure to carry IPv6 addresses, new address conversion functions, and some new socket options. These extensions are designed to provide access to the basic IPv6 features required by TCP and UDP applications, including multicasting, while introducing a minimum of change into the system and providing complete compatibility for existing IPv4 applications. Additional extensions for advanced IPv6 features (raw sockets and access to the IPv6 extension headers) are defined in another document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3493"/>
          <seriesInfo name="DOI" value="10.17487/RFC3493"/>
        </reference>
        <reference anchor="RFC6454">
          <front>
            <title>The Web Origin Concept</title>
            <author fullname="A. Barth" initials="A." surname="Barth"/>
            <date month="December" year="2011"/>
            <abstract>
              <t>This document defines the concept of an "origin", which is often used as the scope of authority or privilege by user agents. Typically, user agents isolate content retrieved from different origins to prevent malicious web site operators from interfering with the operation of benign web sites. In addition to outlining the principles that underlie the concept of origin, this document details how to determine the origin of a URI and how to serialize an origin into a string. It also defines an HTTP header field, named "Origin", that indicates which origins are associated with an HTTP request. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6454"/>
          <seriesInfo name="DOI" value="10.17487/RFC6454"/>
        </reference>
        <reference anchor="RFC9111">
          <front>
            <title>HTTP Caching</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 defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.</t>
              <t>This document obsoletes RFC 7234.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="98"/>
          <seriesInfo name="RFC" value="9111"/>
          <seriesInfo name="DOI" value="10.17487/RFC9111"/>
        </reference>
        <reference anchor="RFC6797">
          <front>
            <title>HTTP Strict Transport Security (HSTS)</title>
            <author fullname="J. Hodges" initials="J." surname="Hodges"/>
            <author fullname="C. Jackson" initials="C." surname="Jackson"/>
            <author fullname="A. Barth" initials="A." surname="Barth"/>
            <date month="November" year="2012"/>
            <abstract>
              <t>This specification defines a mechanism enabling web sites to declare themselves accessible only via secure connections and/or for users to be able to direct their user agent(s) to interact with given sites only over secure connections. This overall policy is referred to as HTTP Strict Transport Security (HSTS). The policy is declared by web sites via the Strict-Transport-Security HTTP response header field and/or by other means, such as user agent configuration, for example. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6797"/>
          <seriesInfo name="DOI" value="10.17487/RFC6797"/>
        </reference>
        <reference anchor="RFC9110">
          <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="RFC3596">
          <front>
            <title>DNS Extensions to Support IP Version 6</title>
            <author fullname="S. Thomson" initials="S." surname="Thomson"/>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="V. Ksinant" initials="V." surname="Ksinant"/>
            <author fullname="M. Souissi" initials="M." surname="Souissi"/>
            <date month="October" year="2003"/>
            <abstract>
              <t>This document defines the changes that need to be made to the Domain Name System (DNS) to support hosts running IP version 6 (IPv6). The changes include a resource record type to store an IPv6 address, a domain to support lookups based on an IPv6 address, and updated definitions of existing query types that return Internet addresses as part of additional section processing. The extensions are designed to be compatible with existing applications and, in particular, DNS implementations themselves. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="88"/>
          <seriesInfo name="RFC" value="3596"/>
          <seriesInfo name="DOI" value="10.17487/RFC3596"/>
        </reference>
        <reference anchor="DNSSD-SRP">
          <front>
            <title>Service Registration Protocol for DNS-Based Service Discovery</title>
            <author fullname="Ted Lemon" initials="T." surname="Lemon">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Stuart Cheshire" initials="S." surname="Cheshire">
              <organization>Apple Inc.</organization>
            </author>
            <date day="29" month="January" year="2024"/>
            <abstract>
              <t>   The Service Registration Protocol for DNS-Based Service Discovery
   uses the standard DNS Update mechanism to enable DNS-Based Service
   Discovery using only unicast packets.  This makes it possible to
   deploy DNS Service Discovery without multicast, which greatly
   improves scalability and improves performance on networks where
   multicast service is not an optimal choice, particularly IEEE 802.11
   (Wi-Fi) and IEEE 802.15.4 networks.  DNS-SD Service registration uses
   public keys and SIG(0) to allow services to defend their
   registrations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnssd-srp-24"/>
        </reference>
        <reference anchor="URL-HISTORY">
          <front>
            <title>URL Problem Statement and Directions</title>
            <author fullname="Sam Ruby" initials="S." surname="Ruby">
              <organization>IBM</organization>
            </author>
            <author fullname="Larry M Masinter" initials="L." surname="Masinter">
              <organization>Adobe</organization>
            </author>
            <date day="11" month="January" year="2015"/>
            <abstract>
              <t>   This document lays out the problem space of possibly conflicting
   standards between multiple organizations for URLs and things like
   them, and proposes some actions to resolve the conflicts.  From a
   user or developer point of view, it makes no sense for there to be a
   proliferation of definitions of URL nor for there to be a
   proliferation of incompatible implementations.  This shouldn't be a
   competitive feature.  Therefore there is a need for the organizations
   involved to update and reconcile the various Internet Drafts,
   Recommendations, and Standards in this area.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ruby-url-problem-01"/>
        </reference>
      </references>
    </references>
    <?line 355?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Some of the historical context in this document came from prior research
documented in <xref target="URL-HISTORY"/>. The author would like to
thank <contact fullname="Brian E. Carpenter"/>, <contact fullname="Stuart Cheshire"/>, and <contact fullname="Bob Hinden"/> for
their prior work in this space. Additionally, the author thanks <contact fullname="Eric Rescorla"/> and <contact fullname="Michael Sweet"/> for their review and comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7Vb23Iby3V9769oQ+WK5BDg9VCHLNsyRUpHLFMXk1RUjsuV
Gsw0gDYHM8hcCNEq/Uu+JV+WtfbuHgxA8ERVqehFxGC6e/e+rn3BcDg0jW9y
d2oHr13d2E9VkjY+dbWdlJW98sXd8KpMk9yel0Xh8NW9bx6sL+zn68vh66R2
GZaUTZmWeT0wyXhcuXvs1VuIF9cWD0yaNG5aVg+ndpwuTFamRTIHAVmVTJph
nc58kfzTD2dNsxj7ephzq5xbDdvKD7FkuHdg6nY893Xty6J5WGDx5Zvbt6Zo
52NXnZoMB5yatCxqV9RtfWqbqnUGdB2apHIJ6PvixjYpMntZNK4qXGNvq6So
F2XVDMyyrO6mVdku8N6729tPA1OO6zJ3jcNOxz+/PDL3rmhxgLXrr1mrtAy+
YAdfTO0v/JrP54nP8dy7ZiL3Gi6nf1oejspqym+TKp3hW35Rn+7u5r5u6pF+
vXuG7/y9q3c/tePcp7v9LXa5eOqbWTvG8ovk3mc3gXu7P8xM7pGDX3XTI2Ft
r5EeMfLlj+/642+OZs08H5g79wC+Z2Dq0F5+uj+2mVvk5cPcFQ0fQYn0vyv+
N7/4cGOStpmVFRfgBhYqCelcjGykWh6qYslt1r8Aa0/tL2U5zZ29ujqXZ3VT
OQcu7B/v7dmz+WKGa7sED+2npLpbJg/yVgoVPrXvy7ZoEpjBv3m3lOeVm0IZ
T+35mb5WZjj55Gjv6DB8xgKq/OfCNzCam4Y8t+UEJ7nKp4m85VRRssi3EcX9
pymfjtJybkxRVvMEdgTtM76YrD5Z8mZ4dXMq+0ST1mcDvR6OcTUX6TvWfnl3
dvvll1NY+T21FSQVWVJl8q2YkJ0kee10x6Saur6KtFU+qhcuHS1nSbOcirLy
oPOP1xtE8IldBCfx/0LLxDXp7BE1z8RM0rKqh/3TyZN///jhzfD2+uz8z2+u
99epvWkXdAOqhCt1tUmWVa6uXf1Kr9CpH/4NRZ9+jNblchlt+3U77ey6npXL
/xi301E69a989oeDlweHR9vIPVgjd43af5aFsz6DyfiJd1X9f6IzGD20bld5
SonvwuW2cEaHJwcDY8xwOLTJGHaDmGHM1YpZl5+g8L14keR5uaztrIRns2Vh
YVi2hm1auF66W9uUWDCft4VncLBLHG5cks5siVcr+Vy2jawrHMyHwSnFRask
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
REEAAA==

-->

</rfc>
