rfc8820xml2.original.xml | rfc8820.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="UTF-8"?> | <?xml version='1.0' encoding='utf-8'?> | |||
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.13 --> | |||
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.13 --> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
<!DOCTYPE rfc SYSTEM "../Tools/rfcbootstrap/rfc2629.dtd" [ | ||||
]> | ||||
<?rfc toc="yes"?> | ||||
<?rfc tocindent="yes"?> | ||||
<?rfc sortrefs="yes"?> | ||||
<?rfc symrefs="yes"?> | ||||
<?rfc strict="yes"?> | ||||
<?rfc compact="yes"?> | ||||
<?rfc comments="yes"?> | ||||
<?rfc inline="yes"?> | ||||
<rfc ipr="trust200902" docName="draft-nottingham-rfc7320bis-03" category="bcp" o | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" | |||
bsoletes="7320" updates="3986"> | docName="draft-nottingham-rfc7320bis-03" number="8820" category="bcp" | |||
obsoletes="7320" updates="3986" submissionType="IETF" consensus="true" | ||||
xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" | ||||
version="3"> | ||||
<!-- xml2rfc v2v3 conversion 2.45.0 --> | ||||
<front> | <front> | |||
<title>URI Design and Ownership</title> | <title>URI Design and Ownership</title> | |||
<seriesInfo name="RFC" value="8820"/> | ||||
<seriesInfo name="BCP" value="190"/> | ||||
<author initials="M." surname="Nottingham" fullname="Mark Nottingham"> | <author initials="M." surname="Nottingham" fullname="Mark Nottingham"> | |||
<organization></organization> | <organization/> | |||
<address> | <address> | |||
<email>mnot@mnot.net</email> | <email>mnot@mnot.net</email> | |||
<uri>https://www.mnot.net/</uri> | <uri>https://www.mnot.net/</uri> | |||
</address> | </address> | |||
</author> | </author> | |||
<date month="June" year="2020"/> | ||||
<date year="2020"/> | ||||
<area>art</area> | <area>art</area> | |||
<keyword>URI structure</keyword> | <keyword>URI structure</keyword> | |||
<abstract> | <abstract> | |||
<!-- Quoted text is DNE. --> | ||||
<t>Section 1.1.1 of RFC 3986 defines URI syntax as “a federated and extensible n | <t>Section 1.1.1 of RFC 3986 defines URI syntax as "a federated and | |||
aming system wherein | extensible naming system wherein each scheme's specification may further | |||
each scheme’s specification may further restrict the syntax and semantics of ide | restrict the syntax and semantics of identifiers using that scheme." In | |||
ntifiers using that | other words, the structure of a URI is defined by its scheme. While it | |||
scheme.” In other words, the structure of a URI is defined by its scheme. While | is common for schemes to further delegate their substructure to the | |||
it is common for | URI's owner, publishing independent standards that mandate particular | |||
schemes to further delegate their substructure to the URI’s owner, publishing in | forms of substructure in URIs is often problematic.</t> | |||
dependent standards | <t>This document provides guidance on the specification of URI | |||
that mandate particular forms of substructure in URIs is often problematic.</t> | substructure in standards.</t> | |||
<t>This document obsoletes RFC 7320 and updates RFC 3986.</t> | ||||
<t>This document provides guidance on the specification of URI substructure in s | ||||
tandards.</t> | ||||
</abstract> | </abstract> | |||
<note title="Note to Readers"> | ||||
<t><spanx style="emph">RFC EDITOR: please remove this section and the “URIs” sec | ||||
tion before the Appendices before publication</spanx></t> | ||||
<t>This is a proposed revision of RFC7320, aka BCP190. The -00 draft is a copy o | ||||
f the published RFC; | ||||
subsequent revisions will update it.</t> | ||||
<t>The issues list for this draft can be found at <eref target="https://github.c | ||||
om/mnot/I-D/labels/rfc7320bis">https://github.com/mnot/I-D/labels/rfc7320bis</er | ||||
ef>.</t> | ||||
<t>The most recent (often, unpublished) draft is at <eref target="https://mnot.g | ||||
ithub.io/I-D/rfc7320bis/">https://mnot.github.io/I-D/rfc7320bis/</eref>.</t> | ||||
<t>Recent changes are listed at <eref target="https://github.com/mnot/I-D/commit | ||||
s/gh-pages/rfc7320bis">https://github.com/mnot/I-D/commits/gh-pages/rfc7320bis</ | ||||
eref>.</t> | ||||
<t>See also the draft’s current status in the IETF datatracker, at | ||||
<eref target="https://datatracker.ietf.org/doc/draft-nottingham-rfc7320bis/">htt | ||||
ps://datatracker.ietf.org/doc/draft-nottingham-rfc7320bis/</eref>.</t> | ||||
</note> | ||||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="intro" numbered="true" toc="default"> | ||||
<name>Introduction</name> | ||||
<t>URIs <xref target="RFC3986" format="default"/> very often include | ||||
structured application data. This might include artifacts from | ||||
filesystems (often occurring in the path component) and user information | ||||
(often in the query component). In some cases, there can even be | ||||
application-specific data in the authority component (e.g., some | ||||
applications are spread across several hostnames to enable a form of | ||||
partitioning or dispatch).</t> | ||||
<section anchor="intro" title="Introduction"> | <t>Implementations can impose further constraints upon the structure of | |||
URIs; for example, many web servers use the filename extension of the | ||||
<t>URIs <xref target="RFC3986"/> very often include structured application data. | last path segment to determine the media type of the response. Likewise, | |||
This might include artifacts | prepackaged applications often have highly structured URIs that can only | |||
from filesystems (often occurring in the path component) and user information (o | be changed in limited ways (often, just the hostname and port on which | |||
ften in the query | they are deployed).</t> | |||
component). In some cases, there can even be application-specific data in the au | <t>Because the owner of the URI (as defined in <xref target="webarch" form | |||
thority component | at="default"/>, Section 2.2.2.1) is choosing to use the | |||
(e.g., some applications are spread across several hostnames to enable a form of | ||||
partitioning or | ||||
dispatch).</t> | ||||
<t>Implementations can impose further constraints upon the structure of URIs; fo | ||||
r example, many Web | ||||
servers use the filename extension of the last path segment to determine the med | ||||
ia type of the | ||||
response. Likewise, prepackaged applications often have highly structured URIs t | ||||
hat can only be | ||||
changed in limited ways (often, just the hostname and port on which they are dep | ||||
loyed).</t> | ||||
<t>Because the owner of the URI (as defined in <xref target="webarch"/> Section | ||||
2.2.2.1) is choosing to use the | ||||
server or the application, this can be seen as reasonable delegation of authorit y. However, when | server or the application, this can be seen as reasonable delegation of authorit y. However, when | |||
such conventions are mandated by a party other than the owner, it can have sever al potentially | such conventions are mandated by a party other than the owner, it can have sever al potentially | |||
detrimental effects:</t> | detrimental effects:</t> | |||
<ul spacing="normal"> | ||||
<t><list style="symbols"> | <li>Collisions - As more ad hoc conventions for URI structure become sta | |||
<t>Collisions - As more ad hoc conventions for URI structure become standardiz | ndardized, it becomes more | |||
ed, it becomes more | ||||
likely that there will be collisions between them (especially considering that s ervers, | likely that there will be collisions between them (especially considering that s ervers, | |||
applications, and individual deployments will have their own conventions).</t> | applications, and individual deployments will have their own conventions).</li> | |||
<t>Dilution - When the information added to a URI is ephemeral, this dilutes i | <li>Dilution - When the information added to a URI is ephemeral, this di | |||
ts utility by reducing | lutes its utility by reducing | |||
its stability (see <xref target="webarch"/> Section 3.5.1), and can cause severa | its stability (see <xref target="webarch" format="default"/>, Section 3.5.1) and | |||
l alternate forms of the URI | can cause several alternate forms of the URI | |||
to exist (see <xref target="webarch"/> Section 2.3.1).</t> | to exist (see <xref target="webarch" format="default"/>, Section 2.3.1).</li> | |||
<t>Rigidity - Fixed URI syntax often interferes with desired deployment patter | <li>Rigidity - Fixed URI syntax often interferes with desired deployment | |||
ns. For example, if an | patterns. For example, if an | |||
authority wishes to offer several applications on a single hostname, it becomes difficult to | authority wishes to offer several applications on a single hostname, it becomes difficult to | |||
impossible to do if their URIs do not allow the required flexibility.</t> | impossible to do if their URIs do not allow the required flexibility.</li> | |||
<t>Operational Difficulty - Supporting some URI conventions can be difficult i | <li>Operational Difficulty - Supporting some URI conventions can be diff | |||
n some | icult in some | |||
implementations. For example, specifying that a particular query parameter be us | implementations. For example, specifying that a particular query parameter be us | |||
ed with “HTTP” | ed with "http" | |||
URIs can preclude the use of Web servers that serve the response from a filesyst | URIs can preclude the use of web servers that serve the response from a filesyst | |||
em. Likewise, an | em. Likewise, an | |||
application that fixes a base path for its operation (e.g., “/v1”) makes it impo | application that fixes a base path for its operation (e.g., "/v1") makes it impo | |||
ssible to deploy | ssible to deploy | |||
other applications with the same prefix on the same host.</t> | other applications with the same prefix on the same host.</li> | |||
<t>Client Assumptions - When conventions are standardized, some clients will i | <li>Client Assumptions - When conventions are standardized, some clients | |||
nevitably assume that | will inevitably assume that | |||
the standards are in use when those conventions are seen. This can lead to inter operability | the standards are in use when those conventions are seen. This can lead to inter operability | |||
problems; for example, if a specification documents that the “sig” URI query par | problems; for example, if a specification documents that the "sig" URI query par | |||
ameter indicates | ameter indicates | |||
that its payload is a cryptographic signature for the URI, it can lead to undesi | that its payload is a cryptographic signature for the URI, it can lead to undesi | |||
rable behavior.</t> | rable behavior.</li> | |||
</list></t> | </ul> | |||
<t>Publishing a standard that constrains an existing URI structure in ways | ||||
<t>Publishing a standard that constrains an existing URI structure in ways that | that aren't explicitly | |||
aren’t explicitly | allowed by <xref target="RFC3986" format="default"/> (usually, by updating the U | |||
allowed by <xref target="RFC3986"/> (usually, by updating the URI scheme definit | RI scheme definition) is therefore sometimes | |||
ion) is therefore sometimes | problematic, both for these reasons and because the structure of a URI needs to | |||
problematic, both for these reasons, and because the structure of a URI needs to | be firmly under | |||
be firmly under | ||||
the control of its owner.</t> | the control of its owner.</t> | |||
<t>This document explains some best current practices for establishing URI | ||||
<t>This document explains some best current practices for establishing URI struc | structures, conventions, and | |||
tures, conventions, and | formats in standards. It also offers strategies for specifications in <xref targ | |||
formats in standards. It also offers strategies for specifications in <xref targ | et="alternatives" format="default"/>.</t> | |||
et="alternatives"/>.</t> | <section anchor="intended-audience" numbered="true" toc="default"> | |||
<name>Intended Audience</name> | ||||
<section anchor="intended-audience" title="Intended Audience"> | <t>This document's guidelines and requirements target the authors of spe | |||
cifications that constrain the | ||||
<t>This document’s guidelines and requirements target the authors of specificati | ||||
ons that constrain the | ||||
syntax or structure of URIs or parts of them. Two classes of such specifications are called out | syntax or structure of URIs or parts of them. Two classes of such specifications are called out | |||
specifically:</t> | specifically:</t> | |||
<ul spacing="normal"> | ||||
<t><list style="symbols"> | <li>Protocol Extensions ("Extensions") - specifications that offer new | |||
<t>Protocol Extensions (“Extensions”) - specifications that offer new capabili | capabilities that could apply | |||
ties that could apply | to any identifier or to a large subset of possible identifiers, e.g., a new sign | |||
to any identifier, or to a large subset of possible identifiers; e.g., a new sig | ature mechanism | |||
nature mechanism | for "http" URIs, metadata for any URI, or a new format.</li> | |||
for ‘http’ URIs, metadata for any URI, or a new format.</t> | <li>Applications Using URIs ("Applications") - specifications that | |||
<t>Applications Using URIs (“Applications”) - specifications that use URIs to | use URIs to meet specific needs, | |||
meet specific needs; | e.g., an HTTP interface to particular information on a host.</li> | |||
e.g., an HTTP interface to particular information on a host.</t> | </ul> | |||
</list></t> | <t>Requirements that target the generic class "Specifications" apply to | |||
all specifications, including | ||||
<t>Requirements that target the generic class “Specifications” apply to all spec | ||||
ifications, including | ||||
both those enumerated above and others.</t> | both those enumerated above and others.</t> | |||
<t>Note that this specification ought not be interpreted as preventing t | ||||
<t>Note that this specification ought not be interpreted as preventing the alloc | he allocation of control of | |||
ation of control of | URIs by parties that legitimately own them or have delegated that ownership; for | |||
URIs by parties that legitimately own them, or have delegated that ownership; fo | example, a | |||
r example, a | specification might legitimately define the semantics of a URI on IANA's web sit | |||
specification might legitimately define the semantics of a URI on IANA’s Web sit | e as part of | |||
e as part of | ||||
the establishment of a registry.</t> | the establishment of a registry.</t> | |||
<t>There may be existing IETF specifications that already deviate from t | ||||
<t>There may be existing IETF specifications that already deviate from the guida | he guidance in this document. | |||
nce in this document. | In these cases, it is up to the relevant communities (i.e., those of the URI | |||
In these cases, it is up to the relevant communities (i.e., those of the URI sch | scheme as well as any relevant community that | |||
eme as well as that | produced the specification in question) to determine an appropriate outcome, e.g | |||
which produced the specification in question) to determine an appropriate outcom | ., updating | |||
e; e.g., updating | the scheme definition or changing the specification.</t> | |||
the scheme definition, or changing the specification.</t> | </section> | |||
<section anchor="notational-conventions" numbered="true" toc="default"> | ||||
</section> | <name>Notational Conventions</name> | |||
<section anchor="notational-conventions" title="Notational Conventions"> | <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
"<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", | ||||
<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, | "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", | |||
“SHOULD NOT”, | "<bcp14>SHOULD NOT</bcp14>", | |||
“RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
be interpreted as | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document | |||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and | are to be interpreted as described in BCP 14 | |||
only when, they appear in all capitals, as | <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only | |||
shown here.</t> | when, they appear in all capitals, as shown here.</t> | |||
</section> | ||||
</section> | </section> | |||
</section> | <section anchor="best-current-practices-for-standardizing-structured-uris" n | |||
<section anchor="best-current-practices-for-standardizing-structured-uris" title | umbered="true" toc="default"> | |||
="Best Current Practices for Standardizing Structured URIs"> | <name>Best Current Practices for Standardizing Structured URIs</name> | |||
<t>This section updates <xref target="RFC3986" format="default"/> by advis | ||||
<t>This section updates <xref target="RFC3986"/> by advising Specifications how | ing Specifications how they should define structure and | |||
they should define structure and | semantics within URIs. Best practices differ, depending on the URI component in | |||
semantics within URIs. Best practices differ depending on the URI component in q | question, as | |||
uestion, as | ||||
described below.</t> | described below.</t> | |||
<section anchor="uri-schemes" numbered="true" toc="default"> | ||||
<section anchor="uri-schemes" title="URI Schemes"> | <name>URI Schemes</name> | |||
<t>Applications and Extensions can require the use of one or more specif | ||||
<t>Applications and Extensions can require use of specific URI scheme(s); for ex | ic URI schemes; for example, it is perfectly | |||
ample, it is perfectly | acceptable to require that an Application support "http" and "https" URIs. Howev | |||
acceptable to require that an Application support ‘http’ and ‘https’ URIs. Howev | er, Applications | |||
er, Applications | ||||
ought not preclude the use of other URI schemes in the future, unless they are c learly only usable | ought not preclude the use of other URI schemes in the future, unless they are c learly only usable | |||
with the nominated schemes.</t> | with the nominated schemes.</t> | |||
<t>A Specification that defines substructure for URI schemes overall (e. | ||||
g., a prefix or suffix for URI | ||||
scheme names) <bcp14>MUST</bcp14> do so by modifying <xref target="BCP35" format | ||||
="default"/> (an exceptional circumstance).</t> | ||||
</section> | ||||
<section anchor="uri-authorities" numbered="true" toc="default"> | ||||
<name>URI Authorities</name> | ||||
<t>Scheme definitions define the presence, format, and semantics of an | ||||
authority component in URIs; all other Specifications <bcp14>MUST | ||||
NOT</bcp14> constrain or define the structure or the semantics for URI | ||||
authorities, unless they update the scheme registration itself or the | ||||
structures it relies upon (e.g., DNS name syntax, as defined in <xref | ||||
target="RFC1034" sectionFormat="of" section="3.5"/>). | ||||
<t>A Specification that defines substructure for URI schemes overall (e.g., a pr | </t> | |||
efix or suffix for URI | <t>For example, an Extension or Application cannot say that the "foo" pr | |||
scheme names) MUST do so by modifying <xref target="BCP35"/> (an exceptional cir | efix in | |||
cumstance).</t> | "https://foo_app.example.com" is meaningful or triggers special handling in | |||
URIs, unless they update either the "http" URI scheme or the DNS hostname | ||||
</section> | syntax.</t> | |||
<section anchor="uri-authorities" title="URI Authorities"> | <t>Applications can nominate or constrain the port they use, when applic | |||
able. For example, | ||||
<t>Scheme definitions define the presence, format and semantics of an authority | ||||
component in URIs; all | ||||
other Specifications MUST NOT constrain, or define the structure or the semantic | ||||
s for URI | ||||
authorities, unless they update the scheme registration itself, or the structure | ||||
s it relies upon | ||||
(e.g., DNS name syntax, defined in Section 3.5 of <xref target="RFC1034"/>).</t> | ||||
<t>For example, an Extension or Application cannot say that the “foo” prefix in | ||||
“http://foo_app.example.com” is meaningful or triggers special handling in URIs, | ||||
unless they update either the HTTP URI scheme, or the DNS hostname syntax.</t> | ||||
<t>Applications can nominate or constrain the port they use, when applicable. Fo | ||||
r example, | ||||
BarApp could run over port nnnn (provided that it is properly registered).</t> | BarApp could run over port nnnn (provided that it is properly registered).</t> | |||
</section> | ||||
</section> | <section anchor="uri-paths" numbered="true" toc="default"> | |||
<section anchor="uri-paths" title="URI Paths"> | <name>URI Paths</name> | |||
<t>Scheme definitions define the presence, format, and semantics of a pa | ||||
<t>Scheme definitions define the presence, format, and semantics of a path compo | th component in URIs, although these are often delegated to the Application(s) i | |||
nent in URIs, although these are often delegated to the application(s) in a give | n a given deployment.</t> | |||
n deployment.</t> | <t>To avoid collisions, rigidity, and erroneous client assumptions, Spec | |||
ifications <bcp14>MUST NOT</bcp14> define a | ||||
<t>To avoid collisions, rigidity, and erroneous client assumptions, Specificatio | fixed prefix for their URI paths -- for example, "/myapp" -- unless allowed by t | |||
ns MUST NOT define a | he scheme definition.</t> | |||
fixed prefix for their URI paths; for example, “/myapp”, unless allowed by the s | <t>One such exception to this requirement is registered "well-known" URI | |||
cheme definition.</t> | s, as specified by | |||
<xref target="RFC8615" format="default"/>. See that document for a description o | ||||
<t>One such exception to this requirement is registered “well-known” URIs, as sp | f the applicability of that mechanism.</t> | |||
ecified by | <t>Note that this does not apply to Applications defining a structure | |||
<xref target="RFC8615"/>. See that document for a description of the applicabili | of a URI's path "under" a resource | |||
ty of that mechanism.</t> | ||||
<t>Note that this does not apply to Applications defining a structure of URIs pa | ||||
ths “under” a resource | ||||
controlled by the server. Because the prefix is under control of the party deplo ying the | controlled by the server. Because the prefix is under control of the party deplo ying the | |||
application, collisions and rigidity are avoided, and the risk of erroneous clie nt assumptions is | Application, collisions and rigidity are avoided, and the risk of erroneous clie nt assumptions is | |||
reduced.</t> | reduced.</t> | |||
<t>For example, an Application might define "app_root" as a deployment-c | ||||
<t>For example, an Application might define “app_root” as a deployment-controlle | ontrolled URI prefix. | |||
d URI prefix. | Application-defined resources might then be assumed to be present at "{app_root} | |||
Application-defined resources might then be assumed to be present at “{app_root} | /foo" and | |||
/foo” and | "{app_root}/bar".</t> | |||
“{app_root}/bar”.</t> | <t>Extensions <bcp14>MUST NOT</bcp14> define a structure within individu | |||
al URI components (e.g., a prefix or suffix), | ||||
<t>Extensions MUST NOT define a structure within individual URI components (e.g. | ||||
, a prefix or suffix), | ||||
again to avoid collisions and erroneous client assumptions.</t> | again to avoid collisions and erroneous client assumptions.</t> | |||
</section> | ||||
</section> | <section anchor="uri-queries" numbered="true" toc="default"> | |||
<section anchor="uri-queries" title="URI Queries"> | <name>URI Queries</name> | |||
<t>The presence, format, and semantics of the query component of URIs ar | ||||
<t>The presence, format and semantics of the query component of URIs is dependen | e dependent upon many factors | |||
t upon many factors, | ||||
and can be constrained by a scheme definition. Often, they are determined by the implementation of | and can be constrained by a scheme definition. Often, they are determined by the implementation of | |||
a resource itself.</t> | a resource itself.</t> | |||
<t>Applications can specify the syntax of queries for the resources unde | ||||
<t>Applications can specify the syntax of queries for the resources under their | r their control. However, | |||
control. However, | ||||
doing so can cause operational difficulties for deployments that do not support a particular form | doing so can cause operational difficulties for deployments that do not support a particular form | |||
of a query. For example, a site may wish to support an Application using “static ” files that do not | of a query. For example, a site may wish to support an Application using "static " files that do not | |||
support query parameters.</t> | support query parameters.</t> | |||
<t>Extensions <bcp14>MUST NOT</bcp14> constrain the format or semantics | ||||
<t>Extensions MUST NOT constrain the format or semantics of queries, to avoid co | of queries, to avoid collisions and erroneous | |||
llisions and erroneous | ||||
client assumptions. For example, an Extension that indicates that all query para meters with the | client assumptions. For example, an Extension that indicates that all query para meters with the | |||
name “sig” indicate a cryptographic signature would collide with potentially pre existing query | name "sig" indicate a cryptographic signature would collide with potentially pre existing query | |||
parameters on sites and lead clients to assume that any matching query parameter is a signature.</t> | parameters on sites and lead clients to assume that any matching query parameter is a signature.</t> | |||
<t>Per the "Form submission" section of <xref target="HTML5"/>, HTML con | ||||
<t>HTML <xref target="W3C.REC-html401-19991224"/> constrains the syntax of query | strains the syntax of | |||
strings used in form submission. | query strings used in form submission. | |||
New form languages are encouraged to allow creation of a broader variety of URIs | New form languages are encouraged to allow creation of a broader variety of URIs | |||
(e.g., by allowing the form to create new path components, and so forth).</t> | (e.g., by allowing the form to create new path components, and so forth).</t> | |||
</section> | ||||
</section> | <section anchor="uri-fragment-identifiers" numbered="true" toc="default"> | |||
<section anchor="uri-fragment-identifiers" title="URI Fragment Identifiers"> | <name>URI Fragment Identifiers</name> | |||
<t><xref target="RFC3986" sectionFormat="of" section="3.5"/> specifies f | ||||
<t>Section 3.5 of <xref target="RFC3986"/> specifies fragment identifiers’ synta | ragment identifiers' syntax and semantics as being dependent | |||
x and semantics as being dependent | upon the media type of a potentially retrieved resource. As a result, other Spec | |||
upon the media type of a potentially retrieved resource. As a result, other Spec | ifications <bcp14>MUST NOT</bcp14> | |||
ifications MUST NOT | ||||
define structure within the fragment identifier, unless they are explicitly defi ning one for reuse | define structure within the fragment identifier, unless they are explicitly defi ning one for reuse | |||
by media types in their definitions (for example, as JSON Pointer <xref target=" | by media types in their definitions (for example, as JSON Pointer <xref target=" | |||
RFC6901"/> does).</t> | RFC6901" format="default"/> does).</t> | |||
<t>An Application that defines common fragment identifiers across media | ||||
<t>An Application that defines common fragment identifiers across media types no | types not | |||
t | ||||
controlled by it would engender interoperability problems with handlers for thos e media types | controlled by it would engender interoperability problems with handlers for thos e media types | |||
(because the new, non-standard syntax is not expected).</t> | (because the new, non-standard syntax is not expected).</t> | |||
</section> | ||||
</section> | </section> | |||
</section> | <section anchor="alternatives" numbered="true" toc="default"> | |||
<section anchor="alternatives" title="Alternatives to Specifying Structure in UR | <name>Alternatives to Specifying Structure in URIs</name> | |||
Is"> | <t>Given the issues described in <xref target="intro" format="default"/>, | |||
the most successful strategy for Applications and | ||||
<t>Given the issues described in <xref target="intro"/>, the most successful str | Extensions that wish to use URIs is to use them in the fashion for which they we | |||
ategy for Applications and | re designed: as links that | |||
Extensions that wish to use URIs is to use them in the fashion they were designe | ||||
d: as links that | ||||
are exchanged as part of the protocol, rather than statically specified syntax. Several existing | are exchanged as part of the protocol, rather than statically specified syntax. Several existing | |||
specifications can aid in this.</t> | specifications can aid in this.</t> | |||
<t><xref target="RFC8288" format="default"/> specifies relation types for | ||||
<t><xref target="RFC8288"/> specifies relation types for Web links. By providing | web links. By providing a framework for linking on the | |||
a framework for linking on the | Web, where every link has a relation type, context, and target, it allows Applic | |||
Web, where every link has a relation type, context and target, it allows Applica | ations to define a | |||
tions to define a | link's semantics and connectivity.</t> | |||
link’s semantics and connectivity.</t> | <t><xref target="RFC6570" format="default"/> provides a standard syntax fo | |||
r URI Templates that can be used to dynamically insert | ||||
<t><xref target="RFC6570"/> provides a standard syntax for URI Templates that ca | ||||
n be used to dynamically insert | ||||
Application-specific variables into a URI to enable such Applications while avoi ding impinging upon | Application-specific variables into a URI to enable such Applications while avoi ding impinging upon | |||
URI owners’ control of them.</t> | URI owners' control of them.</t> | |||
<t><xref target="RFC8615" format="default"/> allows specific paths to be " | ||||
<t><xref target="RFC8615"/> allows specific paths to be ‘reserved’ for standard | reserved" for standard use on URI schemes that opt into | |||
use on URI schemes that opt into | that mechanism ("http" and "https" by default). Note, however, that this is not | |||
that mechanism (‘http’ and ‘https’ by default). Note, however, that this is not | a general "escape | |||
a general “escape | valve" for Applications that need structured URIs; see that specification for mo | |||
valve” for applications that need structured URIs; see that specification for mo | re information.</t> | |||
re information.</t> | <t>Specifying more elaborate structures in an attempt to avoid collisions | |||
is not an acceptable | ||||
<t>Specifying more elaborate structures in an attempt to avoid collisions is not | solution and does not address the issues described in <xref target="intro" forma | |||
an acceptable | t="default"/>. For example, prefixing query parameters | |||
solution, and does not address the issues in <xref target="intro"/>. For example | with "myapp_" does not help, because the prefix itself is subject to the risk of | |||
, prefixing query parameters | collision (since | |||
with “myapp_” does not help, because the prefix itself is subject to the risk of | it is not "reserved").</t> | |||
collision (since | </section> | |||
it is not “reserved”).</t> | <section anchor="security-considerations" numbered="true" toc="default"> | |||
<name>Security Considerations</name> | ||||
</section> | <t>This document does not introduce new protocol artifacts with security c | |||
<section anchor="security-considerations" title="Security Considerations"> | onsiderations. It prohibits | |||
<t>This document does not introduce new protocol artifacts with security conside | ||||
rations. It prohibits | ||||
some practices that might lead to vulnerabilities; for example, if a security-se nsitive mechanism | some practices that might lead to vulnerabilities; for example, if a security-se nsitive mechanism | |||
is introduced by assuming that a URI path component or query string has a partic ular meaning, false | is introduced by assuming that a URI path component or query string has a partic ular meaning, false | |||
positives might be encountered (due to sites that already use the chosen string) . See also | positives might be encountered (due to sites that already use the chosen string) . See also | |||
<xref target="RFC6943"/>.</t> | <xref target="RFC6943" format="default"/>.</t> | |||
</section> | ||||
</section> | <section anchor="iana-considerations" numbered="true" toc="default"> | |||
<section anchor="iana-considerations" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
<t>This document has no IANA actions.</t> | ||||
<t>There are no direct IANA actions specified in this document.</t> | </section> | |||
</section> | ||||
</middle> | </middle> | |||
<back> | <back> | |||
<references> | ||||
<name>References</name> | ||||
<references> | ||||
<name>Normative References</name> | ||||
<reference anchor="webarch" target="https://www.w3.org/TR/2004/REC-webar | ||||
ch-20041215"> | ||||
<front> | ||||
<title>Architecture of the World Wide Web, Volume One</title> | ||||
<author initials="I." surname="Jacobs" fullname="Ian Jacobs"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="N." surname="Walsh" fullname="Norman Walsh"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2004" month="December"/> | ||||
</front> | ||||
</reference> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3986. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174. | ||||
xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<references title='Normative References'> | <reference anchor="BCP35" target="https://www.rfc-editor.org/info/bcp35" | |||
> | ||||
<reference anchor="webarch" target="http://www.w3.org/TR/2004/REC-webarch-200412 | <front> | |||
15"> | <title>Guidelines and Registration Procedures for New URI Schemes</t | |||
<front> | itle> | |||
<title>Architecture of the World Wide Web, Volume One</title> | <author initials="D." surname="Thaler" fullname="Dave Thaler" role=" | |||
<author initials="I." surname="Jacobs" fullname="Ian Jacobs"> | editor"> | |||
<organization></organization> | <organization/> | |||
</author> | </author> | |||
<author initials="N." surname="Walsh" fullname="Norman Walsh"> | <author initials="T." surname="Hansen" fullname="Tony Hansen"> | |||
<organization></organization> | <organization/> | |||
</author> | </author> | |||
<date year="2004" month="December" day="15"/> | <author initials="T." surname="Hardie" fullname="Ted Hardie"> | |||
</front> | <organization/> | |||
</reference> | </author> | |||
<date year="2015" month="June"/> | ||||
<reference anchor="RFC3986" target='https://www.rfc-editor.org/info/rfc3986'> | </front> | |||
<front> | <seriesInfo name="BCP" value="35"/> | |||
<title>Uniform Resource Identifier (URI): Generic Syntax</title> | <seriesInfo name="RFC" value="7595"/> | |||
<author initials='T.' surname='Berners-Lee' fullname='T. Berners-Lee'><organizat | </reference> | |||
ion /></author> | ||||
<author initials='R.' surname='Fielding' fullname='R. Fielding'><organization /> | ||||
</author> | ||||
<author initials='L.' surname='Masinter' fullname='L. Masinter'><organization /> | ||||
</author> | ||||
<date year='2005' month='January' /> | ||||
<abstract><t>A Uniform Resource Identifier (URI) is a compact sequence of charac | ||||
ters that identifies an abstract or physical resource. This specification defin | ||||
es 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 u | ||||
se 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 possi | ||||
ble identifier. This specification does not define a generative grammar for URI | ||||
s; 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="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'> | ||||
<front> | ||||
<title>Key words for use in RFCs to Indicate Requirement Levels</title> | ||||
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></ | ||||
author> | ||||
<date year='1997' month='March' /> | ||||
<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 Comm | ||||
unity, 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" target='https://www.rfc-editor.org/info/rfc8174'> | ||||
<front> | ||||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title> | ||||
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></auth | ||||
or> | ||||
<date year='2017' month='May' /> | ||||
<abstract><t>RFC 2119 specifies common key words that may be used in protocol s | ||||
pecifications. This document aims to reduce the ambiguity by clarifying that on | ||||
ly UPPERCASE usage of the key words have the defined special meanings.</t></abs | ||||
tract> | ||||
</front> | ||||
<seriesInfo name='BCP' value='14'/> | ||||
<seriesInfo name='RFC' value='8174'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8174'/> | ||||
</reference> | ||||
</references> | ||||
<references title='Informative References'> | ||||
<reference anchor="BCP35" target="https://tools.ietf.org/html/bcp35"> | ||||
<front> | ||||
<title>Guidelines and Registration Procedures for New URI Schemes</title> | ||||
<author initials="D." surname="Thaler" fullname="Dave Thaler"> | ||||
<organization>Microsoft</organization> | ||||
</author> | ||||
<author initials="T." surname="Hansen" fullname="Tony Hansen"> | ||||
<organization>AT&T Laboratories</organization> | ||||
</author> | ||||
<author initials="T." surname="Hardie" fullname="Ted Hardie"> | ||||
<organization>Google</organization> | ||||
</author> | ||||
<date year="2015" month="June"/> | ||||
</front> | ||||
<seriesInfo name="BCP" value="35"/> | ||||
<seriesInfo name="RFC" value="7595"/> | ||||
</reference> | ||||
<reference anchor="RFC1034" target='https://www.rfc-editor.org/info/rfc1034'> | ||||
<front> | ||||
<title>Domain names - concepts and facilities</title> | ||||
<author initials='P.V.' surname='Mockapetris' fullname='P.V. Mockapetris'><organ | ||||
ization /></author> | ||||
<date year='1987' month='November' /> | ||||
<abstract><t>This RFC is the revised basic definition of The Domain Name System. | ||||
It obsoletes RFC-882. This memo describes the domain style names and their us | ||||
ed for host address look up and electronic mail forwarding. It discusses the cl | ||||
ients and servers in the domain name system and the protocol used between them.< | ||||
/t></abstract> | ||||
</front> | ||||
<seriesInfo name='STD' value='13'/> | ||||
<seriesInfo name='RFC' value='1034'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC1034'/> | ||||
</reference> | ||||
<reference anchor="RFC8615" target='https://www.rfc-editor.org/info/rfc8615'> | ||||
<front> | ||||
<title>Well-Known Uniform Resource Identifiers (URIs)</title> | ||||
<author initials='M.' surname='Nottingham' fullname='M. Nottingham'><organizatio | ||||
n /></author> | ||||
<date year='2019' month='May' /> | ||||
<abstract><t>This memo defines a path prefix for "well-known locations" | ||||
;, "/.well-known/", in selected Uniform Resource Identifier (URI) sche | ||||
mes.</t><t>In doing so, it obsoletes RFC 5785 and updates the URI schemes define | ||||
d in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI sche | ||||
mes that support well-known URIs in their registry.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='8615'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8615'/> | ||||
</reference> | ||||
<reference anchor="W3C.REC-html401-19991224" | ||||
target='http://www.w3.org/TR/1999/REC-html401-19991224'> | ||||
<front> | ||||
<title>HTML 4.01 Specification</title> | ||||
<author initials='D.' surname='Raggett' fullname='Dave Raggett'> | ||||
<organization /> | ||||
</author> | ||||
<author initials='A.' surname='Hors' fullname='Arnaud Le Hors'> | ||||
<organization /> | ||||
</author> | ||||
<author initials='I.' surname='Jacobs' fullname='Ian Jacobs'> | ||||
<organization /> | ||||
</author> | ||||
<date month='December' day='24' year='1999' /> | ||||
</front> | ||||
<seriesInfo name='World Wide Web Consortium Recommendation' value='REC-html401-1 | ||||
9991224' /> | ||||
<format type='HTML' target='http://www.w3.org/TR/1999/REC-html401-19991224' /> | ||||
</reference> | ||||
<reference anchor="RFC6901" target='https://www.rfc-editor.org/info/rfc6901'> | ||||
<front> | ||||
<title>JavaScript Object Notation (JSON) Pointer</title> | ||||
<author initials='P.' surname='Bryan' fullname='P. Bryan' role='editor'><organiz | ||||
ation /></author> | ||||
<author initials='K.' surname='Zyp' fullname='K. Zyp'><organization /></author> | ||||
<author initials='M.' surname='Nottingham' fullname='M. Nottingham' role='editor | ||||
'><organization /></author> | ||||
<date year='2013' month='April' /> | ||||
<abstract><t>JSON Pointer defines a string syntax for identifying a specific val | ||||
ue within a JavaScript Object Notation (JSON) document.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='6901'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC6901'/> | ||||
</reference> | ||||
<reference anchor="RFC8288" target='https://www.rfc-editor.org/info/rfc8288'> | ||||
<front> | ||||
<title>Web Linking</title> | ||||
<author initials='M.' surname='Nottingham' fullname='M. Nottingham'><organizatio | ||||
n /></author> | ||||
<date year='2017' month='October' /> | ||||
<abstract><t>This specification defines a model for the relationships between re | ||||
sources on the Web ("links") and the type of those relationships (&quo | ||||
t;link relation types").</t><t>It also defines the serialisation of such li | ||||
nks in HTTP headers with the Link header field.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='8288'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8288'/> | ||||
</reference> | ||||
<reference anchor="RFC6570" target='https://www.rfc-editor.org/info/rfc6570'> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1034. | |||
<front> | xml"/> | |||
<title>URI Template</title> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8615. | |||
<author initials='J.' surname='Gregorio' fullname='J. Gregorio'><organization /> | xml"/> | |||
</author> | ||||
<author initials='R.' surname='Fielding' fullname='R. Fielding'><organization /> | ||||
</author> | ||||
<author initials='M.' surname='Hadley' fullname='M. Hadley'><organization /></au | ||||
thor> | ||||
<author initials='M.' surname='Nottingham' fullname='M. Nottingham'><organizatio | ||||
n /></author> | ||||
<author initials='D.' surname='Orchard' fullname='D. Orchard'><organization /></ | ||||
author> | ||||
<date year='2012' month='March' /> | ||||
<abstract><t>A URI Template is a compact sequence of characters for describing a | ||||
range of Uniform Resource Identifiers through variable expansion. This specific | ||||
ation defines the URI Template syntax and the process for expanding a URI Templa | ||||
te into a URI reference, along with guidelines for the use of URI Templates on t | ||||
he Internet. [STANDARDS-TRACK]</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='6570'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC6570'/> | ||||
</reference> | ||||
<reference anchor="RFC6943" target='https://www.rfc-editor.org/info/rfc6943'> | <reference anchor="HTML5" target="https://html.spec.whatwg.org/#form-submi | |||
<front> | ssion"> | |||
<title>Issues in Identifier Comparison for Security Purposes</title> | <front> | |||
<author initials='D.' surname='Thaler' fullname='D. Thaler' role='editor'><organ | <title>HTML - Living Standard</title> | |||
ization /></author> | <author> | |||
<date year='2013' month='May' /> | <organization>WHATWG</organization> | |||
<abstract><t>Identifiers such as hostnames, URIs, IP addresses, and email addres | </author> | |||
ses are often used in security contexts to identify security principals and reso | <date month="June" year="2020" /> | |||
urces. In such contexts, an identifier presented via some protocol is often com | </front> | |||
pared using some policy to make security decisions such as whether the security | <refcontent>Section 4.10.21</refcontent> | |||
principal may access the resource, what level of authentication or encryption is | </reference> | |||
required, etc. If the parties involved in a security decision use different al | ||||
gorithms to compare identifiers, then failure scenarios ranging from denial of s | ||||
ervice to elevation of privilege can result. This document provides a discussio | ||||
n of these issues that designers should consider when defining identifiers and p | ||||
rotocols, and when constructing architectures that use multiple protocols.</t></ | ||||
abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='6943'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC6943'/> | ||||
</reference> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6901. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8288. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6570. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6943. | ||||
xml"/> | ||||
</references> | ||||
</references> | </references> | |||
<section anchor="changes-from-rfc7320" numbered="true" toc="default"> | ||||
<section anchor="changes-from-rfc7320" title="Changes from RFC7320"> | <name>Changes from RFC 7320</name> | |||
<t>Many of the requirements of RFC 7320 were removed, in the spirit of mak | ||||
<t>Many of the requirements of RFC7320 were removed, in the spirit of making thi | ing this BCP guidance rather than rules.</t> | |||
s BCP guidance, rather than rules.</t> | </section> | |||
<section anchor="acknowledgments" numbered="false" toc="default"> | ||||
</section> | <name>Acknowledgments</name> | |||
<section anchor="acknowledgments" title="Acknowledgments"> | <t>Thanks to <contact fullname="David Booth"/>, <contact fullname="Dave | |||
Crocker"/>, <contact fullname="Tim Bray"/>, <contact fullname="Anne van | ||||
<t>Thanks to David Booth, Dave Crocker, Tim Bray, Anne van Kesteren, Martin Thom | Kesteren"/>, <contact fullname="Martin Thomson"/>, <contact | |||
son, Erik Wilde, | fullname="Erik Wilde"/>, <contact fullname="Dave Thaler"/>, and <contact | |||
Dave Thaler and Barry Leiba for their suggestions and feedback.</t> | fullname="Barry Leiba"/> for their suggestions and feedback.</t> | |||
</section> | ||||
</section> | ||||
</back> | </back> | |||
<!-- ##markdown-source: | ||||
H4sIAECCEl4AA5VbbXPbRpL+jl8xR1ed5RRJvdhOYvnq7mTZSbRrS15JudTV | ||||
1VVqCAzJWYEYLAYQzVX5v9/T3TPAgJKTumQrKxHETE+/PP1092g2m2WtbUtz | ||||
qn69vlDvjberSumqUFfbyjR+beuscHmlN/hG0ehlO6tc29pqtdabWbPMf3h5 | ||||
crSwfnb0Mit0iy+dHJ0cZTl+XLlmd6oWeZ11NT3yp+rlmx+/z9zCu9Lw7/Ry | ||||
ltm6OVVt0/n25OjozdFJphujT5Vu2mzrmrtV47r6NLszO/xWiJweX8/brjFZ | ||||
5ltI+7suXYXNd8ZntT1V/9O6fKrwH1sVpmqnyrumbczS46fdJvzQNjbHo9xt | ||||
ah1+2ODLeGSr0lbmf7NMd+3aNaeZmmUK/9gKQn+aq8teBfyxaOeTbu72n7hm | ||||
pSv7T91aV53yJ2ajbXmqNtDif9J/5pVp+UHXQO5129b+9PBwu93O49PDLKtc | ||||
s8Ea94bW2JqFbvK1LNfqZmVaeTG8t305x7aHt9eHUOerw+sP57Pwyow+OD45 | ||||
fi2vitnP8MC2hrWp3FK1a6N+c01ZqN9sgR/NYqr+y5XdxqiryvCbvVboH9FM | ||||
r52LufqLzmHj/mPRzoWu9h9AyqfXuJyr33Tp13tLXJIWqr1H/SLR+45ezY5P | ||||
ZjhjZqtlqrd3559fvn6sNVJ361zp59a0S1bdut2Uh3DclyNF/dxBH+QXnuPj | ||||
2qwsXIhNqz43LjcFNOgV9lSXZstuepOvzcb4P1Xa+7m6XevSNHsnfq/vzf4T | ||||
OrD6ZPPGebdsn1zudq5+0ZU31d5yt67a7T/h5c5u//VWfdQLh+O4xgaJn1y2 | ||||
KazZX9YU+w941Z+dW5VmZJzj17Oj7/kTb2gfMlFQCdkHCPE6/Hb90znw4fUb | ||||
2DGbzWZKL0jZeZtlN/BV0vnxHP+Sx+KrjCyqMEs2DyPErmr1F6W9mmi1NIXB | ||||
0SAnWc58aU3l7aI0dABEK77sW7NR27VpjK0yo/O18my751752uR2aXOx9Ebv | ||||
1LJrECWNgrkZQzhm4obYwCPIq9bmnqSzBEB4H2CqOk+7tWvdZrL8fKIuKuV4 | ||||
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 | ||||
kWS0BHKR5ph0/x+n5G2tMjgAAA== | ||||
</rfc> | </rfc> | |||
End of changes. 47 change blocks. | ||||
701 lines changed or deleted | 328 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |