<?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-00" 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-00"/>
    <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="21"/>
    <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>Over the course of 2012 and 2013, this 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. The majority of Web browsers did not
implement this change. 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, another attempt was made to allow Web browsers to communicate via IPv6
link-local addresses: <xref target="DRAFT-ZONE-UI"/>.
In this attempt, the zone identifier is no longer encoded in the URI. Instead,
client applications are requested to offer UI to allow selecting the zone
identifier. While that document does not mention the Web or browsers directly,
its publication could be used to help convince browsers to implement support
for IPv6 link-local addresses. Similarly, this proposal does not seem to be
gaining support from browser vendors.</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"/>).</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="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 relies on globally-registered names, and is therefore
not available for link-local connectivity. Such link-local communication is
therefore inherently not authenticated.</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="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="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 334?>

<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"/> for their review and comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7Vb624bSXb+X09RSyOIvRCp68gjYWe98mXGwsqXteQYkyAI
mt1FslfNLqYv5GgNv0ueJU+W7zunqtlNSRMDQfzHYrOr6tS5fufC8Xhsmrwp
3LkdvXR1Yz9WSdrkqavtzFf2Ki9vx1c+TQr7ypelw1frvLmzeWk/f7ocv0xq
l2GJb3zqi3pkkum0cmvs1VuIFweLRyZNGjf31d25naYrk/m0TJYgIKuSWTOu
00VeJv/Ix4umWU3zelxwq4JbjdsqH2PJ+ODA1O10mdd17svmboXFl29ufjZl
u5y66txkOODcpL6sXVm39bltqtYZ0HVsksoloO+Lm9qkzOxl2biqdI29qZKy
XvmqGZmNr27nlW9XeO/tzc3HkfHT2heucdjp9MfnJ2btyhYHWDt8zVqlZfQF
O+Tl3P7Cr/l8meQFnueumcm9xpv5XzbHE1/N+W1SpQt8yy/q8/39Iq+beqJf
71/gu3zt6v2P7bTI0/3+FvtcPM+bRTvF8tfJOs+uA/f2v5uZ3KMAv+qmR8Jg
r4keMcn99+/6/W9OFs2yGJlbdwe+Z2Dq2F5+XJ/azK0Kf7d0ZcNHUCL974r/
LV+/vzZJ2yx8xQW4gYVKQjqvJzZSLQ9VseQ2wy/A2nP7i/fzwtmrq1fyrG4q
58CFw9ODA3uxXC1wbZfgof2YVLeb5E7eSqHC5/adb8smgRn8S+428rxycyjj
uX11oa/5DCefnRycHIfPWECV/1zmDYzmuiHPrZ/hJFflaSJvOVWULPJtQnH/
Zc6nk9QvjSl9tUxgR9A+k5ez7SdL3oyvrs9ln2jS+myk18MxruYifcfaL28v
br78cg4rX1NbQVKZJVUm34oJ2VlS1E53TKq566tIWxWTeuXSyWaRNJu5KCsP
evXh0w4RfGJXwUn8v9Ayc026uEfNEzGT1Ff1uH86efKvH96/Gd98unj11zef
DofUXrcrugFVwq262iTLKlfXrn6hV+jUD//Gok/fR+tms4m2/bKdd3ZdL/zm
P6btfJLO8xd59tPR86Pjk4fIPRqQO6D2H750Ns9gMvksd1X9f6IzGD20bl95
Sonvw+W2cEbHZ0cjY8x4PLbJFHaDmGHM1ZZZlx+h8L14kRSF39R24eHZrC8t
DMvWsE0L10t3axuPBctlW+YMDnaDw41L0oX1eLWSz75tZF3pYD4MTikuWiVF
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
wdmlPAAA

-->

</rfc>
