<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[
      <!ENTITY rfc2119 SYSTEM "reference.RFC.2119.xml">
      <!ENTITY rfc2141 SYSTEM "reference.RFC.2141.xml">
      <!ENTITY rfc5226 SYSTEM "reference.RFC.5226.xml">
      <!ENTITY rfc5378 SYSTEM "reference.RFC.5378.xml">
      <!ENTITY rfc3986 SYSTEM "reference.RFC.3986.xml">
      <!ENTITY rfc3987 SYSTEM "reference.RFC.3987.xml">
      <!ENTITY rfc6335 SYSTEM "reference.RFC.6335.xml">
      ]>

<?rfc toc='yes' ?>
<?rfc symrefs='yes' ?>

<?rfc sortrefs='yes'?>

<?rfc compact='yes'?>
<?rfc subcompact="no"?>
<?rfc rfcedstyle="yes"?>


<rfc number="7595"
     submissionType="IETF"
     consensus="yes"
     ipr="trust200902" 
     obsoletes="4395" 
     category="bcp">

  <front>
    <title abbrev='URI Scheme Guidelines'>Guidelines and Registration Procedures for URI Schemes</title>
    <author initials='D.' surname='Thaler' fullname='Dave Thaler' role='editor'>
      <organization>Microsoft</organization>
      <address>
        <postal>
          <street>One Microsoft Way</street>
          <city>Redmond</city>
          <region>WA</region>
          <code>98052</code>
          <country>United States</country>
        </postal>
        <phone>+1 425 703 8835</phone>
        <email>dthaler@microsoft.com</email>
      </address>
    </author>
    <author initials='T.' surname='Hansen' fullname='Tony Hansen'>
      <organization>AT&amp;T Laboratories</organization>
      <address>
        <postal>
          <street>200 Laurel Ave.</street>
          <city>Middletown</city>
          <region>NJ</region>
          <code>07748</code>
          <country>United States</country>
        </postal>
        <email>tony+urireg@maillennium.att.com</email>
      </address>
    </author>
    <author initials='T.' surname='Hardie' fullname='Ted Hardie'>
      <organization>Google</organization>
      <address>
        <phone>+1 408 628 5864</phone>
        <email>ted.ietf@gmail.com</email>
      </address>
    </author>

    <date month="June" year='2015' />

    <area>Applications</area>
    <keyword>URI scheme</keyword>
    <keyword>IRI</keyword>
    <keyword>Internationalized Resource Identifier</keyword>
    <keyword>Uniform Resource Identifier</keyword>
    <keyword>URI registration</keyword>
    <abstract>
      <t>
        This document updates the guidelines and recommendations, as
        well as the IANA registration processes, for the definition of
        Uniform Resource Identifier (URI) schemes.  It
        obsoletes RFC 4395.
      </t>
    </abstract>
  </front>

  <middle>
    <section title='Introduction'>
      <t>
        The Uniform Resource Identifier (URI) protocol element and
        generic syntax is defined by <xref target='RFC3986'/>.  Each
        URI begins with a scheme name, as defined by Section 3.1 of
        RFC 3986, that refers to a specification for identifiers
        within that scheme. The URI syntax provides a federated and
        extensible naming system, where each scheme's specification
        can further restrict the syntax and define the semantics of
        identifiers using that scheme. 
      </t>
      <t>
        This document obsoletes <xref target='RFC4395'/>, which in
        turn obsoleted <xref target='RFC2717'/> and <xref
        target='RFC2718'/>.

        Recent documents have used the term "URI" for all
        resource identifiers, avoiding the term "URL" and reserving
        the term "URN" explicitly for those URIs using the "urn" scheme
        name <xref target='RFC2141'/>.  URN "namespaces" <xref
        target='RFC3406'/> are specific to the "urn" scheme and are
        not covered explicitly by this specification.
      </t>
      <t>
        This document provides updated guidelines for the
        definition of new schemes, for consideration by those who are
        defining, registering, or evaluating those definitions. In addition, this document
        provides an updated process and mechanism for registering
        schemes within the IANA URI Schemes registry.  There is a
        single namespace for registered schemes. The intent of the
        registry is to:
        <list style='symbols'>
          <t>
            provide a central point of discovery for established URI
            scheme names and easy location of defining
            documents for schemes;
          </t>
          <t>
            discourage multiple separate uses of the same scheme name;
          </t>
          <t>
            help those proposing new scheme names to discern
            established trends and conventions and to avoid names that
            might be confused with existing ones; and
          </t>
          <t>
            encourage registration by setting a low barrier for
            registration.
          </t>
        </list>
      </t>

      <section title='URIs and IRIs'>
        <t>
          As originally defined, URIs only allowed a limited repertoire
          of characters chosen from US-ASCII.
          An Internationalized Resource Identifier (IRI), as defined by
          <xref target='RFC3987'/>, extends the URI syntax to allow
          characters from a much greater repertoire to accommodate
          resource identifiers from the world's languages.
          RFC 3987 <xref target='RFC3987'/> also
          defined a mapping between URIs and IRIs. IRIs use the same
          scheme names as URIs. Thus,
          there is no separate independent registry or registration
          process for IRI schemes: the URI Schemes registry is used
          for both URIs and IRIs. 
          Those who wish to
          describe resource identifiers that are useful as IRIs should
          define the corresponding URI syntax and note
          that the IRI usage follows the rules and transformations
          defined in <xref target='RFC3987' />.
        </t>
      </section>
    </section>

    <section title="Terminology">
      <t>
      The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
      NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and
      "OPTIONAL" in this document are to be interpreted as described in
       <xref target='RFC2119'/>.
      </t>
      <t>
        This document distinguishes between a "scheme specification", which
        is a document defining the syntax and semantics of
        a scheme, and a "scheme registration request", which is the
        completed template submitted to IANA.  The term "scheme definition"
        refers generically to the syntax and semantics of a scheme and is
        typically documented in a scheme specification.
      </t>
    </section>

    <section title='Requirements for Permanent Scheme Definitions'
             anchor='guidelines'>
      <t>
        This section gives considerations for new schemes.
        Meeting these guidelines is REQUIRED for 'permanent' scheme
        registration.  'Permanent' status is appropriate for, but not
        limited to, use in standards.  For URI schemes defined or
        normatively referenced by IETF Standards Track
        documents, 'permanent' registration status is REQUIRED.

      </t>

        <t>
          <xref target='RFC3986' /> defines the overall syntax for URIs as:
        </t>
        <figure align="center">
          <artwork align="left"><![CDATA[
            URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
            ]]>
          </artwork>
        </figure>
        <t>
          A scheme definition cannot override the overall syntax for URIs.
          For example, this means that fragment identifiers cannot
          be reused outside the generic syntax restrictions and that fragment
          identifiers are not scheme specific. A scheme
          definition must specify the scheme name and the syntax of the
          scheme-specific part, which is clarified as follows:
        </t>
        <figure align="center">
          <artwork align="left"><![CDATA[
              URI = scheme ":" scheme-specific-part [ "#" fragment ]
  
              scheme-specific-part = hier-part [ "?" query ]
            ]]>
          </artwork>
        </figure>

      <section title='Demonstrable, New, Long-Lived Utility'>
        <t>
          In general, the use and deployment of new schemes in the
          Internet infrastructure can be costly; some parts of URI
          processing are often scheme dependent. Introducing a new scheme
          might require additional software not only for client
          software and user agents but also in additional parts of the
          network infrastructure (gateways, proxies, caches) <xref
	  target='W3CWebArch'/>.  Since scheme names share a single,
          global namespace, it is desirable to avoid contention over
          use of short, mnemonic scheme names.
          New schemes ought to have utility to the Internet community
          beyond that available with already registered schemes. The
          scheme specification SHOULD discuss the utility of the
          scheme being registered.
        </t>
      </section>

      <section title='Syntactic Compatibility' anchor='syntaxguide'>
        <t>
          <xref target='RFC3986' /> defines the generic syntax for all
          URI schemes, along with the syntax of common URI components
          that are used by many URI schemes to define hierarchical
          identifiers.  <xref target='RFC3987' /> extended this
          generic syntax to cover IRIs.

          All scheme specifications MUST define their own URI
          &lt;scheme-specific-part&gt; syntax. Care must be taken to ensure
          that all strings matching their scheme-specific syntax will
          also match the &lt;absolute&nbhy;URI&gt; grammar described
          in <xref target="RFC3986"/>.
        </t>
        <t>
          New schemes SHOULD reuse the common URI components of <xref
          target="RFC3986"/> for the definition of hierarchical
          naming schemes. If there is a strong reason for a scheme not
          to use the hierarchical syntax, then the new scheme
          definition SHOULD follow the syntax of similar previously registered
          schemes.
        </t>
        <t>
          Schemes that are not intended for use with relative URIs
          SHOULD avoid use of the forward slash "/" character in
          order to avoid unintended processing, such as resolution
          of "." and ".." (dot segments).
        </t>
        <t>
          Schemes SHOULD avoid improper use of "//". The use of double
          slashes in the first part of a URI is not a stylistic
          indicator that what follows is a URI: double slashes are
          intended for use ONLY when the syntax of the
          &lt;scheme-specific-part&gt; contains a hierarchical
          structure.  In URIs from such schemes, the use of double
          slashes indicates that what follows is the top hierarchical
          element for a naming authority (Section 3.2 of RFC 3986 has
          more details). Schemes that do not contain a conformant
          hierarchical structure in their &lt;scheme-specific-part&gt;
          SHOULD NOT use double slashes following the
          "&lt;scheme&gt;:" string.
        </t>
        <t>
          New schemes SHOULD clearly define the role of reserved characters
          (see Section 2.2 of <xref target='RFC3986' />) in URIs of the scheme
          being defined. The syntax of the new scheme should be clear
          about which of the "reserved" set of characters are used as
          delimiters within the URIs of the new scheme, and when those
          characters must be escaped, versus when they can be used
          without escaping.
        </t>
      </section>

      <section title='Well Defined' anchor='defguide'>
        <t>
          While URIs might or might not be defined as locators in practice,
          a scheme definition itself MUST be clear as to how it is
          expected to function. Schemes that are not intended to be
          used as locators SHOULD describe how the resource identified
          can be determined or accessed by software that obtains a URI
          of that scheme.
        </t>
        <t>
          For schemes that function as locators, it is important that the
          mechanism of resource location be clearly defined. This might mean
          different things depending on the nature of the scheme.
        </t>
        <t>
          In many cases, new schemes are defined as ways to translate
          between other namespaces or protocols and the general
          framework of URIs. For example, the "ftp" scheme translates
          into the FTP protocol while the "mid" scheme translates
          into a Message-ID identifier of an email message. For such
          schemes, the description of the mapping SHOULD be complete
          and in sufficient detail so that the mapping in both
          directions is clear: how to map from a URI into an identifier
          or set of protocol actions or name in the target namespace,
          and how legal values in the base namespace, or legal
          protocol interactions, are represented in a valid URI.
          See <xref target='charguide' /> for guidelines
          for encoding strings or sequences of bytes within
          valid character sequences in a URI.  If not all legal
          values or protocol interactions of the base standard can be
          represented using the scheme, the definition SHOULD be clear
          about which subset is allowed and why.
        </t>
      </section>

      <section title='Definition of Operations' anchor='opsdefn'>
        <t>
          As part of the definition of how a URI identifies a resource,
          a scheme definition SHOULD define the applicable set of
          operations that can be performed on a resource using the URI
          as its identifier. A model for this is HTTP methods; an HTTP
          resource can be operated on by GET, POST, PUT, and a number
          of other methods available through the HTTP protocol. The
          scheme definition SHOULD describe all well-defined
          operations on the resource identifier and what they are
          supposed to do.
        </t>
        <t>
          Some schemes don't fit into the "information access"
          paradigm of URIs. For example, "telnet" provides location
          information for initiating a bidirectional data stream to a
          remote host; the only operation defined is to initiate the
          connection. In any case, the operations appropriate for a
          scheme SHOULD be documented.
        </t>
        <t>
          Note: It is perfectly valid to say that "no operation apart
          from GET is defined for this URI." It is also valid to say
          that "there's only one operation defined for this URI, and
          it's not very GET-like."  The important point is that what
          is defined on this scheme is described.
        </t>
        <t>
          Scheme definitions SHOULD define a "default" operation
          for when a URI is invoked (or "dereferenced") by an application.
          For example, a common "default" operation today is to launch an
          application associated with the scheme name and let it use
          the other URI components as inputs to do something.  The
          default invocation, or dereferencing, of a URI SHOULD be
          "safe" in the sense described by Section 3.4 of <xref target='W3CWebArch'/>;
          i.e., performing such an invocation should not incur any 
          additional obligations by doing so.
        </t>
      </section>

      <section title='Context of Use' anchor='contextofuse'>
        <t>
          In general, URIs are used within a broad range of protocols
          and applications. For example, URIs are commonly used
          within hypertext documents as references to other 
          resources. In some cases, a scheme is
          intended for use within a different, specific set of
          protocols or applications. If so, the scheme definition
          SHOULD describe the intended use and include references to
          documentation that define the applications and/or protocols
          cited.  This does not obviate the need for documentation
          on applications and/or protocols to discuss URI schemes
          relevant to them.
        </t>
      </section>

      <section title='Internationalization and Character Encoding'
               anchor='charguide'>
        <t>
          When describing schemes in which (some of) the elements of
          the URI are actually representations of human-readable text,
          care should be taken not to introduce unnecessary variety in
          the ways in which characters are encoded into octets and
          then into URI characters; see <xref target='RFC3987' /> and
          Section 2.5 (especially the last paragraph) of <xref
	  target='RFC3986'/> for guidelines.  If
          URIs of a scheme contain any text fields, the scheme
          definition MUST describe the ways in which characters are
          encoded and any compatibility issues with IRIs of the
          scheme.
        </t>

        <t>
          The scheme specification SHOULD be as
          restrictive as possible regarding what characters are
          allowed in the URI because some characters can create
          several different security issues (see, for example,
          <xref target='RFC4690'/>).
        </t>
        <t>
          Percent-encoded character sequences are automatically included by
          definition for characters given in IRI productions.
          This means that if you want to restrict the URI
          percent-encoded forms in some way, you must restrict the
          Unicode forms that would lead to them.
          In most cases, it is advisable to define the actual
          characters allowed in an IRI production in order to allow the
          'pct-encoded' definition from Section 2.1 of <xref target='RFC3986'/>
          at the same places and to add prose that limits percent escapes
          to those that can be created by converting valid UTF-8
          character sequences to percent-encoding.
        </t>
      </section>

      <section title='Clear Security and Privacy Considerations' anchor='secguide'>
        <t>
          Definitions of schemes MUST be accompanied by a clear
          analysis of the security and privacy implications for systems that use
          the scheme; this follows the practice of Security
          Consideration sections within IANA registrations <xref
          target='RFC5226' />.
        </t>
        <t>
          In particular, Section 7 of RFC 3986 <xref
          target='RFC3986'/> describes general security considerations
          for URIs while <xref target='RFC3987' /> gives those for
          IRIs.  The definition of an individual scheme should note
          which of these apply to the specified scheme, in addition to
          any more scheme-specific concerns.  For example, if the
          scheme-specific part is privacy sensitive, then that should be
          documented.
        </t>
      </section>

      <section title='Scheme Name Considerations' anchor='nameguide'>
        <t>
          Section 3.1 of RFC 3986 defines the syntax of a URI scheme
          name; this syntax remains the same for IRIs.  New
          scheme registrations MUST follow this syntax, which only
          allows a limited repertoire of characters (taken from
          US-ASCII). Although the syntax for the scheme name in URIs is
          case insensitive, the scheme name itself MUST be registered
          using lowercase letters.
        </t>
        <t>
          Scheme names SHOULD be short but also sufficiently
          descriptive and distinguished to avoid problems.
        </t>
        <t>
          Schemes SHOULD NOT use names or other symbols that might cause 
          problems with
          rights to use the name in IETF specifications and Internet
          protocols. For example, be careful with trademark and
          service mark names. (See Section 3.4 of <xref
          target='RFC5378' />).
        </t>
        <t>
          Schemes SHOULD NOT use names that are either very general 
          purpose or associated in the community with some other application
          or protocol. Schemes also SHOULD NOT use names that are overly
          general or grandiose in scope (e.g., that allude to their "universal"
          or "standard" nature).
        </t>
        <t> A scheme name is not a "protocol."  However, like a
            service name as defined in Section 5 of <xref target='RFC6335' />,
            it often identifies a particular protocol or application.
            If a scheme name has a one-to-one correspondence with
            a service name, then the names SHOULD be the same.
        </t>
        <t>
          Some organizations desire their own namespace for URI scheme names
          for private use (see <xref target='privateuse'/>). In doing so,
          it is important to prevent collisions and to make it
          possible to identify the owner of a private-use scheme.
          To accomplish these two goals, such organizations SHOULD use 
          a prefix based on their domain name, expressed in reverse order. 
          For example, a URI scheme name of com.example.mything might be used 
          by the organization that owns the example.com domain name.
          Care must be taken, however, if the organization later loses
          the domain name embedded in their scheme names since domain name
          registrations are not permanent.  To associate the private-use
          scheme name with the original organization, the private-use
          scheme can be registered using the registration procedure in
          <xref target="process" />.
        </t>

        <t> Furthermore, to prevent collisions with private-use scheme
            names, new scheme names registered MUST NOT contain a "."
            unless actually constructed from a reversed domain name.

        </t>
      </section>

      <section title='Interoperability Considerations' anchor='interop'>
        <t> If the person or group registering the scheme is aware of any
            details regarding the scheme that might impact interoperability,
            identify them, for example, proprietary or uncommon
            encoding methods, or 
            incompatibility with types or versions of any underlying protocol.
        </t>
      </section>
    </section>

    <section title='Guidelines for Provisional URI Scheme Registration'
             anchor='provguide'>
      <t>
        'Provisional' registration can be used for schemes that are not
        part of any standard but that are intended for use (or observed
        to be in use) that is not limited to a private environment within
        a single
        organization. 'Provisional' registration can also be used as an
        intermediate step on the way to 'permanent' registration, e.g.,
        before the scheme specification is finalized as a standard.
      </t>
      <t>
        For a 'provisional' registration, the following apply:
        <list style='symbols'>
          <t>
            The scheme name must meet the syntactic requirements of
            <xref target='nameguide' />.
          </t>
          <t>
            There must not already be an entry with the same scheme
            name. In the unfortunate case that there are multiple,
            different uses of the same scheme name, the Designated Expert
            can approve a request to modify an existing entry to note the
            separate use.
          </t>
          <t>
            Contact information identifying the person supplying the
            registration must be included. Previously unregistered schemes
            discovered in use can be registered by third parties (even
            if not on behalf of those who created the scheme).  In
            this case, both the registering party and the scheme
            creator SHOULD be identified.
          </t>
          <t>
            If no permanent, citable specification for the scheme
            definition is included, credible reasons for not providing
            it SHOULD be given.
          </t>
          <t>
            The scheme definition SHOULD include clear security
            considerations (<xref target='secguide'/>) or explain why
            a full security analysis is not available (e.g., in a
            third-party scheme registration).
          </t>
          <t>
            If the scheme definition does not meet the guidelines laid
            out in <xref target='guidelines' />, the differences and
            reasons SHOULD be noted.
          </t>
        </list>
      </t>
    </section>

    <section title='Guidelines for Historical URI Scheme Registration'
             anchor='histguide'>
      <t>
        In some circumstances, it is appropriate to note a scheme
        that was once in use or registered but for whatever reason is
        no longer in common use or whose use is not recommended. In this
        case, it is possible for an individual to request that the URI
        scheme be registered (newly, or as an update to an existing
        registration) as 'historical'. Any scheme that is no longer in
        common use MAY be designated as 'historical'; the registration
        SHOULD contain some indication as to where the scheme was
        previously defined or documented.
      </t>
    </section>

    <section title='Guidelines for Private URI Scheme Use' anchor='privateuse'>
      <t>
        Unregistered schemes can cause problems if use is not limited to
        a private environment within a single organization since
        the use could leak out beyond the closed environment. Even within
        a closed environment, other colliding uses of the same scheme name
        could occur.
As such, a unique namespace MUST be used and 'provisional' registration is
strongly encouraged (unless the scheme name is constructed from a domain
name), as discussed in <xref target='nameguide' />.
      </t>
    </section>

    <?rfc needLines="10" ?>
    <section title='URI Scheme Registration Procedure' anchor='process'>

      <section title='General'>
        <t> The IANA policy (using terms defined in
            <xref target='RFC5226'/>) for 'provisional' registration was
            formerly Expert Review; this document changes the policy to First Come
	    First Served. The policy for 'permanent' and 'historical' registration continues 
            to be Expert Review.
        </t>
        <t>
          The registration procedure is intended to be very
          lightweight for noncontentious registrations.  For the most
          part, we expect the good sense of submitters and reviewers,
          guided by these procedures, to achieve an acceptable and
          useful consensus for the community.
        </t>
        <t>
          In exceptional cases, where the negotiating parties cannot
          form a consensus, the final arbiter of any contested
          registration shall be the IESG.
        </t>
        <t>
          If standardization is anticipated, the working group or individuals
          concerned are advised to submit an early 'permanent' registration
          request rather than waiting until the standardization process has 
          run its course.  IANA will pass this to the Designated Expert
          who may recommend 'provisional' registration until the specification
          is approved as a standard.  
This will provide an opportunity for 
          feedback while specification development and review is still 
          active, and while the submitter(s) are still in a position to respond to 
          any issues that might be raised.  If and when the specification is 
          approved as a standard, the submitters should submit a request to 
          change the registration status to 'permanent'.
        </t>
        <t>
          The role of the Designated Expert in the procedure for 
          'permanent' registrations described here is to ensure that 
          the normal open review process has been properly followed 
          and to raise possible concerns about wider implications of 
          proposals for the use and deployment of URIs.  Nothing in 
          the procedure empowers the Designated Expert to override 
          properly arrived-at IETF or working group consensus.
        </t>
        <t>
        </t>
      </section>

      <section title='Registration Procedures'>
        <t>
          Someone wishing to register a new scheme MUST:
          <list style='numbers'>
            <t>
              Check the IANA "Uniform Resource Identifier (URI) Schemes" registry to see whether
              there is already an entry for the desired name. If there
              is already an entry under the name, choose a different
              scheme name or update the existing scheme specification.
            </t>
            <t>
              Prepare a scheme registration request using the template
              specified in
              <xref target='template'/>. The scheme registration
              request can be contained in an Internet-Draft,
              submitted alone, or as part of some other permanently
              available, stable, protocol specification. The scheme registration request
              can also be submitted in some other form (as part of
              another document or as a stand-alone document), but the
              scheme registration request will be treated as an "IETF Contribution"
              under the guidelines of <xref target='RFC5378' />.
            </t>
            <t>
              If the registration request is for a 'permanent' registration
              (or, optionally, for any other registration if desired):
              <list style="numbers">
                <t>
                  Review the requirements in <xref target='guidelines'/>.
                </t>
                <t>
                  Send a copy of the scheme registration request or a pointer to the
                  document containing the request (with specific reference to the
                  section that requests the scheme registration) to the mailing list
                  uri-review@ietf.org, requesting review.  In addition, request review on other
                  relevant mailing lists as appropriate.  For example,
                  general discussion of URI syntactical issues can
                  be discussed on uri@w3.org; schemes for a network
                  protocol can be discussed on a mailing list for that
                  protocol.  Allow a reasonable time for discussion and
                  comments.  Four weeks is reasonable for a 'permanent'
                  registration request.
                </t>
                <t>
                  Respond to review comments and make revisions to the
                  proposed registration as needed to bring it into line
                  with the guidelines given in this document.
                </t>
              </list>
            </t>
            <t>
              Submit the (possibly updated) scheme registration request (or
              pointer to document containing it) to IANA at
              iana@iana.org.
            </t>
          </list>
        </t>
        <t>
          Upon receipt of a scheme registration request, the following
          steps MUST be followed:
          <list style='numbers'>
            <t>
              IANA checks the submission for completeness; if required sections
              of the scheme registration request
              are missing or any citations are not correct, IANA will
              reject the registration request.  A registrant can
              resubmit a corrected request if desired.
            </t>
            <t>
              If the request is for 'provisional' registration and no
              entry already exists in the current registry for the same name,
              IANA adds the registration to the registry under the
              First Come First Served policy.
            </t>
            <t>
              Otherwise, IANA enters the registration request in the IANA
              registry with the status marked as "Pending Review", and the
              remainder of this section applies.
            </t>
            <t>
              IANA requests Expert Review of the registration request
              against the corresponding guidelines from this
              document.
            </t>
            <t>
              The Designated Expert will evaluate the
              request against the criteria of the requested status.
            </t>
            <t>
              In the case of a 'permanent' registration request, the Designated
              Expert may:
              <list style='symbols'>
                <t>
                  Accept the specification of the scheme for 'permanent'
                  registration.
                </t>
                <t>
                  Suggest 'provisional' registration instead.
                </t>
                <t>
                  Request IETF review and IESG approval;
                  in the meanwhile, suggest 'provisional' registration.
                </t>
                <t>
                  Request additional review or discussion as necessary.
                </t>
              </list>
            </t>
            <t>
              If an entry already exists for the same name, the
              Designated Expert will determine whether the request should
              be rejected or whether the existing entry should be modified
              to note the separate use. This conflict process applies
              regardless of the requested status or the status of the 
              existing entry.
            </t>
            <t>
              Once the Designated Expert approves registration for a given status,
              IANA updates the registration to indicate the approved status.
              If the Designated Expert instead rejects the registration, the "Pending
              Review" request is removed from the registry.
            </t>
          </list>
        </t>
        <t>
          Either based on an explicit request or independently initiated, the
          Designated Expert or the IESG can request the upgrade of a
          'provisional'
          registration to a 'permanent' one. In such cases, IANA will update
          the status of the corresponding entry.  Typically, this would only
          occur if the use is considered a standard (not necessarily
          an IETF standard).
        </t>
      </section>

      <section title='Change Control'>
        <t>
          Registrations can be updated in the registry by the same
          mechanism as required for an initial registration. In cases
          where the original definition of the scheme is contained in
          an IESG-approved document, update of the specification also
          requires IESG approval.
        </t>
        <t>
          'Provisional' registrations can be updated by the original
          registrant or anyone designated by the original
          registrant. In addition, the IESG can reassign
          responsibility for a 'provisional' registration scheme or can
          request specific changes to a scheme registration.  This
          will enable changes to be made to schemes where the original
          registrant is out of contact or unwilling or unable to make
          changes.
        </t>
        <t>
          Transition from 'provisional' to 'permanent' status can be
          requested and approved in the same manner as a new
          'permanent' registration.  Transition from 'permanent' to
          'historical' status requires IESG approval.  Transition from
          'provisional' to 'historical' can be requested by anyone
          authorized to update the 'provisional' registration.
        </t>
      </section>

      <section title='URI Scheme Registration Template' anchor='template'>
        <t>
          This template describes the fields that MUST be supplied in a
          scheme registration request suitable for adding to the registry:
          <list style='hanging' hangIndent='2'>
            <t hangText='Scheme name:'> <vspace />
              See <xref target='nameguide' /> for guidelines.
            </t>
            <t hangText='Status:'> <vspace /> This
              reflects the status requested and must be one of 'Permanent',
              'Provisional', or 'Historical'.
            </t>
            <t hangText='Applications/protocols that use this scheme name:'> <vspace />
              See <xref target='contextofuse' />.
            </t>
            <t hangText='Contact:'> <vspace />
              Person
              (including contact information) to contact for further information.
            </t>
            <t hangText='Change controller:'> <vspace /> Organization or 
              person (often the author), including contact information,
              authorized to change this.
            </t>
            <t hangText='References:'> <vspace /> Include full citations for all referenced
              documents. Scheme registration requests for 'provisional' registration can
              be included in an Internet-Draft; when the documents expire or are approved for
              publication as an RFC, the registration will be updated.
              A scheme specification is only required for 'permanent'
              registration.
            </t>
          </list>
        </t>
        <t>
          The previous version of this specification required the following
          additional fields in a scheme registration request.  These
          fields are no longer part of the template.
          The answers instead belong in the scheme specification.
          <list style='hanging' hangIndent='2'>
            <t hangText='Scheme syntax:'> <vspace />
              See <xref target='syntaxguide' /> for guidelines.
            </t>
            <t hangText='Scheme semantics:'> <vspace />
              See <xref target='defguide' /> and <xref target='opsdefn' />
              for guidelines.
            </t> 
            <t hangText='Encoding considerations:'> <vspace />
              See <xref target='defguide' /> and <xref target='charguide' />
              for guidelines.
            </t>
            <t hangText='Interoperability considerations:'> <vspace />
              See <xref target='interop' /> for guidelines.
            </t>
            <t hangText='Security considerations:'><vspace />
              See <xref target='secguide' /> for guidelines.
            </t>
          </list>
        </t>
      </section>
    </section>

    <section title='The "example" URI Scheme' anchor='example'>
      <t>
        There is a need for a scheme name that can be used for
        examples in documentation without fear of conflicts with
        current or future actual schemes.  The scheme "example" is
        hereby registered as a 'permanent' scheme for that purpose.
      </t>
      <t>
        The "example" scheme is specified as follows:
        <list style='hanging' hangIndent='2'>
          <t hangText='Scheme syntax:'>
            The entire range of allowable syntax specified in <xref target='RFC3986'/>
            is allowed for "example" URIs.  Similarly, the entire range of allowable
            syntax specified in <xref target='RFC3987'/> is allowed for
	    "example" IRIs. For example, &lt;example:foo&gt;, &lt;example:/foo&gt;, and &lt;example://foo&gt;
            are all valid.
          </t>
          <t hangText='Scheme semantics:'>
            URIs in the "example" scheme are to be used for documentation purposes only.
            The use of "example" URIs must not be used as locators, identify any resources, or
            specify any particular set of operations.
          </t>
          <t hangText='Encoding considerations:'>
            See Section 2.5 of <xref target="RFC3986"/> for guidelines.
          </t>
          <t hangText='Interoperability considerations:'>
            None.
          </t>
          <t hangText='Security considerations:'>
            None.
          </t>
        </list>
      </t>

      <section title='"example" URI Scheme Registration Request' anchor='examplereg'>
        <t>
          <list style='hanging' hangIndent='2'>
            <t hangText='Scheme name:'>
              example
            </t>
            <t hangText='Status:'>
              permanent
            </t>
            <t hangText='Applications/protocols that use this scheme name:'>
              An "example" URI is to be used for documentation purposes only.
              It MUST NOT be used for any protocol.
            </t>
            <t hangText='Contact:'>
              N/A
            </t>
            <t hangText='Change controller:'>
              IETF
            </t>
            <t hangText='References:'>
              <xref target='example'/> of this document (RFC 7595).
           
            </t>
          </list>
        </t>
      </section>
    </section>

    <section title='IANA Considerations'>
      <t>
        Previously, the former "URL Scheme" registry was replaced by
        the "Uniform Resource Identifier (URI) Schemes" registry.  The process
        was based on "Expert Review" <xref target='RFC5226' /> with an
        initial (optional) mailing list review.
      </t>
      <t>
        The updated template has an additional field for the status
        of the scheme, and the procedures for entering new name schemes
        have been augmented.  <xref target='process' /> establishes the
        process for new scheme registration.
      </t>
      <t>
        IANA has done the following:
        <list style="symbols">
          <t>
            Updated the URI Schemes registry to point to this document.
          </t>
          <t>
            Combined the "Permanent URI Schemes", "Provisional URI Schemes",
            and "Historical URI Schemes" subregistries into a single
            common registry with an additional "Status" column containing
            the status ('Permanent', 'Provisional', 'Historical', or 'Pending Review'),
            and an additional "Notes" column that is normally empty
            but may contain notes approved by the Designated Expert.
          </t>
          <t>
            Added the "example" URI scheme to the registry (see the template
            in <xref target='examplereg'/> for registration).
          </t>
        </list>
      </t>
    </section>

    <section title='Security Considerations'>
      <t>
        All registered values are expected to contain clear security
        considerations as discussed in <xref target="secguide" />. However,
        information concerning possible security vulnerabilities of a
        protocol might change over time. Consequently, claims as to the
        security properties of a registered scheme might change as
        well. As new vulnerabilities are discovered, information about
        such vulnerabilities might need to be attached to existing
        documentation, so that users are not misled as to the true
        security properties of a registered scheme.
      </t>
    </section>
  </middle>
  <?rfc needLines="20" ?>
  <back>

    <references title='Normative References'>
      &rfc2119;
      &rfc2141;

<!--      &rfc3978; -->
      &rfc5378;

      &rfc3986;

      &rfc5226;
      &rfc6335;
    </references>

    <references title='Informative References'>
      <?rfc include='reference.RFC.2717' ?>
      <?rfc include='reference.RFC.2718' ?>
      <?rfc include='reference.RFC.3406' ?>
      <?rfc include='reference.RFC.3864' ?>
      &rfc3987;
      <?rfc include='reference.RFC.4395' ?>
      <?rfc include='reference.RFC.4690' ?>

      <reference anchor='W3CWebArch' target='http://www.w3.org/TR/webarch/'>
        <front>
          <title>Architecture of the World Wide Web, Volume One</title>
          <author>
            <organization abbrev="W3C TAG">W3C Technical Architecture Group</organization>
          </author>
          <date year="2004" month="December"/>
        </front>
	<seriesInfo name="W3C" value="Recommendation"/>
      </reference>
    </references>

<section title="Acknowledgements" numbered="no">
      <t> Thanks to Mark Nottingham and Graham Klyne and other members of the 
      apps-discuss@ietf.org mailing list for their comments on this document.</t>

      <t> Many thanks to Patrik Faltstrom, Paul Hoffmann, Ira McDonald, Roy
      Fielding, Stu Weibel, Tony Hammond, Charles Lindsey, Mark Baker, and
      other members of the uri@w3.org mailing list for their comments on
      earlier draft versions of this document.</t>
      <t>
	Parts of this document are based on <xref target='RFC2717' />,
	<xref target='RFC2718' /> and <xref target='RFC3864' />. Some
	of the ideas about use of URIs were taken from the
	"Architecture of the World Wide Web"                                                            
        <xref target='W3CWebArch'/>. 
      </t>
      </section>

<section title="Contributor" numbered="no">
<t>
Larry Masinter was an author of the document from which this work is derived,
and he continued as author of this version through the working group and IESG
evaluation period.  His many contributions are gratefully acknowledged.
</t>
</section>

  </back>
</rfc>
