draft-ietf-httpapi-link-hint-03.unpg.txt | draft-ietf-httpapi-link-hint-latest.txt | |||
---|---|---|---|---|
Network Working Group M. Nottingham | Network Working Group M. Nottingham | |||
Internet-Draft May 18, 2025 | Internet-Draft September 26, 2025 | |||
Intended status: Standards Track | Intended status: Standards Track | |||
Expires: November 19, 2025 | Expires: March 30, 2026 | |||
HTTP Link Hints | HTTP Link Hints | |||
draft-ietf-httpapi-link-hint-03 | draft-ietf-httpapi-link-hint-latest | |||
Abstract | Abstract | |||
This memo specifies "HTTP Link Hints", a mechanism for annotating Web | This memo specifies "HTTP Link Hints", a mechanism for annotating Web | |||
links to HTTP(S) resources with information that otherwise might be | links to HTTP(S) resources with information that otherwise might be | |||
discovered by interacting with them. | discovered by interacting with them. | |||
About This Document | About This Document | |||
This note is to be removed before publishing as an RFC. | This note is to be removed before publishing as an RFC. | |||
skipping to change at line 48 ¶ | skipping to change at page 2, line 4 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on March 30, 2026. | ||||
This Internet-Draft will expire on November 19, 2025. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2025 IETF Trust and the persons identified as the | Copyright (c) 2025 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Notational Conventions | 1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3 | |||
2. HTTP Link Hints | 2. HTTP Link Hints . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Pre-Defined HTTP Link Hints | 3. Pre-Defined HTTP Link Hints . . . . . . . . . . . . . . . . . 4 | |||
3.1. allow | 3.1. allow . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.2. formats | 3.2. formats . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.3. accept-post | 3.3. accept-post . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.4. accept-patch | 3.4. accept-patch . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.5. accept-ranges | 3.5. accept-query . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.6. accept-prefer | 3.6. accept-ranges . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.7. precondition-req | 3.7. accept-prefer . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.8. auth-schemes | 3.8. precondition-req . . . . . . . . . . . . . . . . . . . . 7 | |||
3.9. auth-realms | 3.9. auth-schemes . . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.10. status | 3.10. auth-realms . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
4. Security Considerations | 3.11. status . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
5. IANA Considerations | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
5.1. HTTP Link Hint Registry | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | |||
6. References | 5.1. HTTP Link Hint Registry . . . . . . . . . . . . . . . . . 8 | |||
6.1. Normative References | 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
6.2. Informative References | 6.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
Appendix A. Acknowledgements | 6.2. Informative References . . . . . . . . . . . . . . . . . 10 | |||
Author's Address | Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 10 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11 | ||||
1. Introduction | 1. Introduction | |||
HTTP [HTTP] clients can discover a variety of information about a | HTTP [HTTP] clients can discover a variety of information about a | |||
resource by interacting with it. For example, the methods supported | resource by interacting with it. For example, the methods supported | |||
by a resource can be learned by examining the Allow header field in | by a resource can be learned by examining the Allow header field in | |||
responses from it, and the need for authentication is conveyed with a | responses from it, and the need for authentication is conveyed with a | |||
401 (Authentication Required) status code. | 401 (Authentication Required) status code. | |||
Often, it can be beneficial to know this information before | Often, it can be beneficial to know this information before | |||
skipping to change at line 129 ¶ | skipping to change at page 3, line 37 ¶ | |||
More fine-grained information might also be gathered by interacting | More fine-grained information might also be gathered by interacting | |||
with the resource (e.g., via a GET), or by another resource | with the resource (e.g., via a GET), or by another resource | |||
containing it (such as a widgets collection) or describing it (e.g., | containing it (such as a widgets collection) or describing it (e.g., | |||
one linked to it with a "describedby" link relation). | one linked to it with a "describedby" link relation). | |||
There is not a single way to convey hints with a link; rather, it is | There is not a single way to convey hints with a link; rather, it is | |||
expected that this will be done by individual link serialisations | expected that this will be done by individual link serialisations | |||
(see Section 3.4.1 of [WEB-LINKING]). | (see Section 3.4.1 of [WEB-LINKING]). | |||
Finally, these hints are not universally applicable to all links. | ||||
Section 2.2 of [WEB-LINKING] specifies that the name space of target | ||||
attributes for a given link is defined by both the link relation in | ||||
use, and by the serialisation in use. Therefore, to be used in a | ||||
given link, these hints need to be explicitly specified by either the | ||||
link relation type or the serialisation (e.g., by referencing this | ||||
specification). | ||||
1.1. Notational Conventions | 1.1. Notational Conventions | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
2. HTTP Link Hints | 2. HTTP Link Hints | |||
skipping to change at line 174 ¶ | skipping to change at page 4, line 42 ¶ | |||
o Hint Name: allow | o Hint Name: allow | |||
o Description: Hints the HTTP methods that can be used to interact | o Description: Hints the HTTP methods that can be used to interact | |||
with the target resource; equivalent to the Allow HTTP response | with the target resource; equivalent to the Allow HTTP response | |||
header. | header. | |||
o Content Model: Inner List of Strings | o Content Model: Inner List of Strings | |||
o Specification: [this document] | o Specification: [this document] | |||
Content MUST be a Inner List of Strings, containing HTTP methods | Content MUST be an Inner List of Strings, containing HTTP methods | |||
(Section 9 of [HTTP]). | (Section 9 of [HTTP]). | |||
3.2. formats | 3.2. formats | |||
o Hint Name: formats | o Hint Name: formats | |||
o Description: Hints the representation type(s) that the target | o Description: Hints the representation type(s) that the target | |||
resource can produce and consume, using the GET and PUT (if | resource can produce and consume, using the GET and PUT (if | |||
allowed) methods respectively. | allowed) methods respectively. | |||
o Content Model: Inner List of Strings | o Content Model: Inner List of Strings | |||
o Specification: [this document] | o Specification: [this document] | |||
Content MUST be a Inner List of Strings, containing media types | Content MUST be an Inner List of Strings, containing media types | |||
(Section 8.3.1 of [HTTP]). | (Section 8.3.1 of [HTTP]). | |||
3.3. accept-post | 3.3. accept-post | |||
o Hint Name: accept-post | o Hint Name: accept-post | |||
o Description: Hints the POST request format(s) that the target | o Description: Hints the POST request format(s) that the target | |||
resource can consume. | resource can consume. | |||
o Content Model: Inner List of Strings | o Content Model: Inner List of Strings | |||
o Specification: [this document] | o Specification: [this document] | |||
Content MUST be a Inner List of Strings, with the same constraints as | Content MUST be an Inner List of Strings, with the same constraints | |||
for "formats". | as for "formats". | |||
When this hint is present, "POST" SHOULD be listed in the "allow" | When this hint is present, "POST" SHOULD be listed in the "allow" | |||
hint when present. | hint when present. | |||
3.4. accept-patch | 3.4. accept-patch | |||
o Hint Name: accept-patch | o Hint Name: accept-patch | |||
o Description: Hints the PATCH [RFC5789] request format(s) that the | o Description: Hints the PATCH [PATCH] request format(s) that the | |||
target resource can consume; equivalent to the Accept-Patch HTTP | target resource can consume; equivalent to the Accept-Patch HTTP | |||
response header. | response header. | |||
o Content Model: Inner List of Strings | o Content Model: Inner List of Strings | |||
o Specification: [this document] | o Specification: [this document] | |||
Content MUST be a Inner List of Strings, containing media types | Content MUST be an Inner List of Strings, containing media types | |||
(Section 8.3.1 of [HTTP]) that identify the acceptable patch formats. | (Section 8.3.1 of [HTTP]) that identify the acceptable patch formats | |||
(see [PATCH]). | ||||
When this hint is present, "PATCH" SHOULD be listed in the "allow" | When this hint is present, "PATCH" SHOULD be listed in the "allow" | |||
hint when present. | hint, when it is present. | |||
3.5. accept-ranges | 3.5. accept-query | |||
o Hint name: accept-query | ||||
o Description: Hints the QUERY [QUERY] request format(s) that the | ||||
target resource can consume; equivalent to the Accept-Query HTTP | ||||
response header. | ||||
o Content Model: Inner List (of Strings) | ||||
o Specification: [this document] | ||||
Content MUST be an Inner List of Strings, containing media types | ||||
(Section 8.3.1 of [HTTP]) that identify the acceptable query formats | ||||
(see [QUERY]). | ||||
When this hint is present, "QUERY" SHOLD be listed in the "allow" | ||||
hint, when it is present. | ||||
3.6. accept-ranges | ||||
o Hint Name: accept-ranges | o Hint Name: accept-ranges | |||
o Description: Hints the range-specifier(s) available for the target | o Description: Hints the range-specifier(s) available for the target | |||
resource; equivalent to the Accept-Ranges HTTP response header | resource; equivalent to the Accept-Ranges HTTP response header | |||
[HTTP]. | [HTTP]. | |||
o Content Model: Inner List of Strings | o Content Model: Inner List of Strings | |||
o Specification: [this document] | o Specification: [this document] | |||
Content MUST be a Inner List of Strings, containing HTTP ranges- | Content MUST be an Inner List of Strings, containing HTTP ranges- | |||
specifiers (Section 14.1.1 of [HTTP]). | specifiers (Section 14.1.1 of [HTTP]). | |||
3.6. accept-prefer | 3.7. accept-prefer | |||
o Hint Name: accept-prefer | o Hint Name: accept-prefer | |||
o Description: Hints the preference(s) [RFC7240] that the target | o Description: Hints the preference(s) [RFC7240] that the target | |||
resource understands (and might act upon) in requests. | resource understands (and might act upon) in requests. | |||
o Content Model: Inner List of Strings | o Content Model: Inner List of Strings | |||
o Specification: [this document] | o Specification: [this document] | |||
Content MUST be a Inner List of Strings, containing preferences | Content MUST be an Inner List of Strings, containing preferences | |||
(Section 2 of [RFC7240]). Note that, by its nature, a preference can | (Section 2 of [RFC7240]). Note that, by its nature, a preference can | |||
be ignored by the server. | be ignored by the server. | |||
3.7. precondition-req | 3.8. precondition-req | |||
o Hint Name: precondition-req | o Hint Name: precondition-req | |||
o Description: Hints that the target resource requires state- | o Description: Hints that the target resource requires state- | |||
changing requests (e.g., PUT, PATCH) to include a precondition, as | changing requests (e.g., PUT, PATCH) to include a precondition, as | |||
per Section 13.1 of [HTTP], to avoid conflicts due to concurrent | per Section 13.1 of [HTTP], to avoid conflicts due to concurrent | |||
updates. | updates. | |||
o Content Model: Inner List of Strings | o Content Model: Inner List of Strings | |||
o Specification: [this document] | o Specification: [this document] | |||
Content MUST be a Inner List of Strings, with possible values "etag" | Content MUST be an Inner List of Strings, with possible values "etag" | |||
and "last-modified" indicating type of precondition expected. | and "last-modified" indicating type of precondition expected. | |||
See also the 428 Precondition Required status code ([RFC6585]). | See also the 428 Precondition Required status code ([RFC6585]). | |||
3.8. auth-schemes | 3.9. auth-schemes | |||
o Hint Name: auth-schemes | o Hint Name: auth-schemes | |||
o Description: Hints that the target resource requires | o Description: Hints that the target resource requires | |||
authentication using the HTTP Authentication framework Section 11 | authentication using the HTTP Authentication framework Section 11 | |||
of [HTTP]. | of [HTTP]. | |||
o Content Model: Inner List of Strings | o Content Model: Inner List of Strings | |||
o Specification: [this document] | o Specification: [this document] | |||
Content MUST be a Inner List of Strings, each corresponding to a HTTP | Content MUST be an Inner List of Strings, each corresponding to a | |||
authentication scheme (Section 11.1 of [HTTP]), and optionally a | HTTP authentication scheme (Section 11.1 of [HTTP]). | |||
"realms" member containing an array of zero to many strings that | ||||
identify protection spaces that the resource is a member of. | ||||
3.9. auth-realms | 3.10. auth-realms | |||
o Hint Name: auth-realms | o Hint Name: auth-realms | |||
o Description: Hints the authentication realm(s) available for those | o Description: Hints the authentication realm(s) available for those | |||
schemes that support them in the HTTP Authentication framework | schemes that support them in the HTTP Authentication framework | |||
Section 11 of [HTTP]. | Section 11 of [HTTP]. | |||
o Content Model: array (of strings) | o Content Model: Inner List (of Strings) | |||
o Specification: [this document] | o Specification: [this document] | |||
Content MUST be an array of strings, each indicating a protection | Content MUST be an Inner List of Strings, each indicating a | |||
space that the resource is a member of. | protection space that the resource is a member of. | |||
3.10. status | 3.11. status | |||
o Hint Name: status | o Hint Name: status | |||
o Description: Hints the status of the target resource. | o Description: Hints the status of the target resource. | |||
o Content Model: Token | o Content Model: Token | |||
o Specification: [this document] | o Specification: [this document] | |||
Content MUST be a Token; possible values are: | Content MUST be a Token; possible values are: | |||
skipping to change at line 355 ¶ | skipping to change at page 9, line 4 ¶ | |||
(0-9), underscores ("_") and hyphens ("-"), and MUST begin with a | (0-9), underscores ("_") and hyphens ("-"), and MUST begin with a | |||
lowercase letter. | lowercase letter. | |||
Hint content MUST be described using valid combinations of the | Hint content MUST be described using valid combinations of the | |||
following types defined by HTTP Structured Fields | following types defined by HTTP Structured Fields | |||
([STRUCTURED-FIELDS]): | ([STRUCTURED-FIELDS]): | |||
o Inner List (Section 3.1.2 of [STRUCTURED-FIELDS]) | o Inner List (Section 3.1.2 of [STRUCTURED-FIELDS]) | |||
o Item (Section 3.3 of [STRUCTURED-FIELDS]) | o Item (Section 3.3 of [STRUCTURED-FIELDS]) | |||
Hint semantics SHOULD be described in terms of the framework defined | Hint semantics SHOULD be described in terms of the framework defined | |||
in [WEB-LINKING]. | in [WEB-LINKING]. | |||
New hints are registered using the Expert Review process described in | New hints are registered using the IETF Review process described in | |||
[RFC8126] to enforce the criteria above. Requests for registration | [RFC8126]. Registration of new resource hints are to use the | |||
of new resource hints are to use the following template: | following template: | |||
o Hint Name: [hint name] | o Hint Name: [hint name] | |||
o Description: [a short description of the hint's semantics] | o Description: [a short description of the hint's semantics] | |||
o Content Model: [allowed Structured Fields types] | o Content Model: [allowed Structured Fields types] | |||
o Specification: [reference to specification document] | o Specification: [reference to specification document] | |||
Initial registrations are enumerated in Section 3. The "rel", "rev", | Initial registrations are enumerated in Section 3. Additionally, the | |||
"hreflang", "media", "title", and "type" hint names are reserved, so | "rel", "rev", "hreflang", "media", "title", and "type" hint names are | |||
as to avoid potential clashes with link serialisations. | reserved, so as to avoid potential clashes with link serialisations. | |||
6. References | 6. References | |||
6.1. Normative References | 6.1. Normative References | |||
[HTTP] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, | [HTTP] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, | |||
Ed., "HTTP Semantics", STD 97, RFC 9110, | Ed., "HTTP Semantics", STD 97, RFC 9110, | |||
DOI 10.17487/RFC9110, June 2022, | DOI 10.17487/RFC9110, June 2022, | |||
<https://www.rfc-editor.org/info/rfc9110>. | <https://www.rfc-editor.org/info/rfc9110>. | |||
skipping to change at line 400 ¶ | skipping to change at page 9, line 48 ¶ | |||
[JSON] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data | [JSON] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data | |||
Interchange Format", STD 90, RFC 8259, | Interchange Format", STD 90, RFC 8259, | |||
DOI 10.17487/RFC8259, December 2017, | DOI 10.17487/RFC8259, December 2017, | |||
<https://www.rfc-editor.org/info/rfc8259>. | <https://www.rfc-editor.org/info/rfc8259>. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC5789] Dusseault, L. and J. Snell, "PATCH Method for HTTP", | ||||
RFC 5789, DOI 10.17487/RFC5789, March 2010, | ||||
<https://www.rfc-editor.org/info/rfc5789>. | ||||
[RFC6585] Nottingham, M. and R. Fielding, "Additional HTTP Status | [RFC6585] Nottingham, M. and R. Fielding, "Additional HTTP Status | |||
Codes", RFC 6585, DOI 10.17487/RFC6585, April 2012, | Codes", RFC 6585, DOI 10.17487/RFC6585, April 2012, | |||
<https://www.rfc-editor.org/info/rfc6585>. | <https://www.rfc-editor.org/info/rfc6585>. | |||
[RFC7240] Snell, J., "Prefer Header for HTTP", RFC 7240, | [RFC7240] Snell, J., "Prefer Header for HTTP", RFC 7240, | |||
DOI 10.17487/RFC7240, June 2014, | DOI 10.17487/RFC7240, June 2014, | |||
<https://www.rfc-editor.org/info/rfc7240>. | <https://www.rfc-editor.org/info/rfc7240>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
skipping to change at line 433 ¶ | skipping to change at page 10, line 30 ¶ | |||
RFC 3986, DOI 10.17487/RFC3986, January 2005, | RFC 3986, DOI 10.17487/RFC3986, January 2005, | |||
<https://www.rfc-editor.org/info/rfc3986>. | <https://www.rfc-editor.org/info/rfc3986>. | |||
[WEB-LINKING] | [WEB-LINKING] | |||
Nottingham, M., "Web Linking", RFC 8288, | Nottingham, M., "Web Linking", RFC 8288, | |||
DOI 10.17487/RFC8288, October 2017, | DOI 10.17487/RFC8288, October 2017, | |||
<https://www.rfc-editor.org/info/rfc8288>. | <https://www.rfc-editor.org/info/rfc8288>. | |||
6.2. Informative References | 6.2. Informative References | |||
[PATCH] Dusseault, L. and J. Snell, "PATCH Method for HTTP", | ||||
RFC 5789, DOI 10.17487/RFC5789, March 2010, | ||||
<https://www.rfc-editor.org/info/rfc5789>. | ||||
[QUERY] Reschke, J., Snell, J., and M. Bishop, "The HTTP QUERY | ||||
Method", draft-ietf-httpbis-safe-method-w-body-11 (work in | ||||
progress), May 2025. | ||||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
Appendix A. Acknowledgements | Appendix A. Acknowledgements | |||
Thanks to Jan Algermissen, Mike Amundsen, Bill Burke, Graham Klyne, | Thanks to Jan Algermissen, Mike Amundsen, Bill Burke, Graham Klyne, | |||
Leif Hedstrom, Jeni Tennison, Erik Wilde and Jorge Williams for their | Leif Hedstrom, Jeni Tennison, Erik Wilde and Jorge Williams for their | |||
suggestions and feedback. | suggestions and feedback. | |||
End of changes. 29 change blocks. | ||||
62 lines changed or deleted | 90 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |