draft-ietf-weirds-using-http-14.txt   draft-ietf-weirds-using-http-15.txt 
Network Working Group A. Newton Network Working Group A. Newton
Internet-Draft ARIN Internet-Draft ARIN
Intended status: Standards Track B. Ellacott Intended status: Standards Track B. Ellacott
Expires: May 1, 2015 APNIC Expires: May 23, 2015 APNIC
N. Kong N. Kong
CNNIC CNNIC
October 28, 2014 November 19, 2014
HTTP usage in the Registration Data Access Protocol (RDAP) HTTP usage in the Registration Data Access Protocol (RDAP)
draft-ietf-weirds-using-http-14 draft-ietf-weirds-using-http-15
Abstract Abstract
This document is one of a collection that together describes the This document is one of a collection that together describes the
Registration Data Access Protocol (RDAP). It describes how RDAP is Registration Data Access Protocol (RDAP). It describes how RDAP is
transported using the Hypertext Transfer Protocol (HTTP). RDAP is a transported using the Hypertext Transfer Protocol (HTTP). RDAP is a
successor protocol to the very old WHOIS protocol. The purpose of successor protocol to the very old WHOIS protocol. The purpose of
this document is to clarify the use of standard HTTP mechanisms for this document is to clarify the use of standard HTTP mechanisms for
this application. this application.
skipping to change at page 1, line 38 skipping to change at page 1, line 38
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 May 1, 2015. This Internet-Draft will expire on May 23, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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
skipping to change at page 2, line 17 skipping to change at page 2, line 17
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Design Intents . . . . . . . . . . . . . . . . . . . . . . . 4 3. Design Intents . . . . . . . . . . . . . . . . . . . . . . . 4
4. Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1. HTTP Methods . . . . . . . . . . . . . . . . . . . . . . 5 4.1. HTTP Methods . . . . . . . . . . . . . . . . . . . . . . 5
4.2. Accept Header . . . . . . . . . . . . . . . . . . . . . . 5 4.2. Accept Header . . . . . . . . . . . . . . . . . . . . . . 5
4.3. Query Parameters . . . . . . . . . . . . . . . . . . . . 5 4.3. Query Parameters . . . . . . . . . . . . . . . . . . . . 6
5. Types of HTTP Response . . . . . . . . . . . . . . . . . . . 6 5. Types of HTTP Response . . . . . . . . . . . . . . . . . . . 6
5.1. Positive Answers . . . . . . . . . . . . . . . . . . . . 6 5.1. Positive Answers . . . . . . . . . . . . . . . . . . . . 6
5.2. Redirects . . . . . . . . . . . . . . . . . . . . . . . . 6 5.2. Redirects . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3. Negative Answers . . . . . . . . . . . . . . . . . . . . 7 5.3. Negative Answers . . . . . . . . . . . . . . . . . . . . 7
5.4. Malformed Queries . . . . . . . . . . . . . . . . . . . . 7 5.4. Malformed Queries . . . . . . . . . . . . . . . . . . . . 7
5.5. Rate Limits . . . . . . . . . . . . . . . . . . . . . . . 7 5.5. Rate Limits . . . . . . . . . . . . . . . . . . . . . . . 7
5.6. Cross-Origin Resource Sharing . . . . . . . . . . . . . . 7 5.6. Cross-Origin Resource Sharing . . . . . . . . . . . . . . 8
6. Extensibility . . . . . . . . . . . . . . . . . . . . . . . . 8 6. Extensibility . . . . . . . . . . . . . . . . . . . . . . . . 8
7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8.1. RDAP Extensions Registry . . . . . . . . . . . . . . . . 9 8.1. RDAP Extensions Registry . . . . . . . . . . . . . . . . 9
9. Internationalization Considerations . . . . . . . . . . . . . 10 9. Internationalization Considerations . . . . . . . . . . . . . 10
9.1. URIs and IRIs . . . . . . . . . . . . . . . . . . . . . . 10 9.1. URIs and IRIs . . . . . . . . . . . . . . . . . . . . . . 10
9.2. Language Identifiers in Queries and Responses . . . . . . 10 9.2. Language Identifiers in Queries and Responses . . . . . . 10
9.3. Language Identifiers in HTTP Headers . . . . . . . . . . 10 9.3. Language Identifiers in HTTP Headers . . . . . . . . . . 10
10. Contributing Authors and Acknowledgements . . . . . . . . . . 10 10. Contributing Authors and Acknowledgements . . . . . . . . . . 11
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
11.1. Normative References . . . . . . . . . . . . . . . . . . 11 11.1. Normative References . . . . . . . . . . . . . . . . . . 11
11.2. Informative References . . . . . . . . . . . . . . . . . 12 11.2. Informative References . . . . . . . . . . . . . . . . . 12
Appendix A. Protocol Example . . . . . . . . . . . . . . . . . . 12 Appendix A. Protocol Example . . . . . . . . . . . . . . . . . . 13
Appendix B. Cache Busting . . . . . . . . . . . . . . . . . . . 13 Appendix B. Cache Busting . . . . . . . . . . . . . . . . . . . 14
Appendix C. Bootstrapping and Redirection . . . . . . . . . . . 14 Appendix C. Bootstrapping and Redirection . . . . . . . . . . . 15
Appendix D. Changelog . . . . . . . . . . . . . . . . . . . . . 15 Appendix D. Changelog . . . . . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
1. Introduction 1. Introduction
This document describes the usage of the Hypertext Transfer Protocol This document describes the usage of the Hypertext Transfer Protocol
(HTTP) [RFC7230] for the Registration Data Access Protocol (RDAP). (HTTP) [RFC7230] for the Registration Data Access Protocol (RDAP).
The goal of this document is to tie together usage patterns of HTTP The goal of this document is to tie together usage patterns of HTTP
into a common profile applicable to the various types of directory into a common profile applicable to the various types of directory
services serving registration data using practices informed by the services serving registration data using practices informed by the
Representational State Transfer REST [REST] architectural style. By Representational State Transfer REST [REST] architectural style. By
giving the various directory services common behavior, a single giving the various directory services common behavior, a single
skipping to change at page 3, line 28 skipping to change at page 3, line 28
In designing these common usage patterns, this document introduces In designing these common usage patterns, this document introduces
considerations for a simple use of HTTP. Where complexity may considerations for a simple use of HTTP. Where complexity may
reside, it is the goal of this document to place it upon the server reside, it is the goal of this document to place it upon the server
and to keep the client as simple as possible. A client and to keep the client as simple as possible. A client
implementation should be possible using common operating system implementation should be possible using common operating system
scripting tools (e.g. bash and wget). scripting tools (e.g. bash and wget).
This is the basic usage pattern for this protocol: This is the basic usage pattern for this protocol:
1. A client determines an appropriate server to query along with the 1. A client determines an appropriate server to query along with the
appropriate base URL to use in such queries. appropriate base Uniform Resource Locator (URL) to use in such
[I-D.ietf-weirds-bootstrap] describes one method to determine the queries. [I-D.ietf-weirds-bootstrap] describes one method to
server and the base URL. See Appendix C for more information. determine the server and the base URL. See Appendix C for more
information.
2. A client issues an HTTP (or HTTPS) query using GET [RFC7231]. As 2. A client issues an HTTP (or HTTPS) query using GET [RFC7231]. As
an example, a query for the network registration 192.0.2.0 might an example, a query URL for the network registration 192.0.2.0
be might be
http://example.com/rdap/ip/192.0.2.0 http://example.com/rdap/ip/192.0.2.0
[I-D.ietf-weirds-rdap-query] details the various queries used in [I-D.ietf-weirds-rdap-query] details the various queries used in
RDAP. RDAP.
3. If the receiving server has the information for the query, it 3. If the receiving server has the information for the query, it
examines the Accept header field of the query and returns a 200 examines the Accept header field of the query and returns a 200
response with a response entity appropriate for the requested response with a response entity appropriate for the requested
format. [I-D.ietf-weirds-json-response] details a response in format. [I-D.ietf-weirds-json-response] details a response in
JavaScript Object Notation (JSON). JavaScript Object Notation (JSON).
4. If the receiving server does not have the information for the 4. If the receiving server does not have the information for the
query but does have knowledge of where the information can be query but does have knowledge of where the information can be
found, it will return a redirection response (3xx) with the found, it will return a redirection response (3xx) with the
Location: header field containing an HTTP(S) URL (Uniform Location: header field containing an HTTP(S) URL pointing to the
Resource Locator) pointing to the information or another server information or another server known to have knowledge of the
known to have knowledge of the location of the information. The location of the information. The client is expected to re-query
client is expected to re-query using that HTTP URL. using that HTTP URL.
5. If the receiving server does not have the information being 5. If the receiving server does not have the information being
requested and does not have knowledge of where the information requested and does not have knowledge of where the information
can be found, it returns a 404 response. can be found, it returns a 404 response.
6. If the receiving server will not answer a request for policy 6. If the receiving server will not answer a request for policy
reasons, it will return an error response (4xx) indicating the reasons, it will return an error response (4xx) indicating the
reason for giving no answer. reason for giving no answer.
It is not the intent of this document to redefine the meaning and It is not the intent of this document to redefine the meaning and
skipping to change at page 4, line 48 skipping to change at page 4, line 49
to exchange queries and responses. [I-D.ietf-weirds-rdap-sec] to exchange queries and responses. [I-D.ietf-weirds-rdap-sec]
describes security considerations for RDAP. describes security considerations for RDAP.
3. Design Intents 3. Design Intents
There are a few design criteria this document attempts to meet. There are a few design criteria this document attempts to meet.
First, each query is meant to require only one path of execution to First, each query is meant to require only one path of execution to
obtain an answer. A response may contain an answer, no answer, or a obtain an answer. A response may contain an answer, no answer, or a
redirect, and clients are not expected to fork multiple paths of redirect, and clients are not expected to fork multiple paths of
execution to satisfy a query. execution to make a query.
Second, the semantics of the request/response allow for future and/or Second, the semantics of the request/response allow for future and/or
non-standard response formats. In this document, only a JSON non-standard response formats. In this document, only a JSON
[RFC7159] response media type is noted, with the response contents to [RFC7159] response media type is noted, with the response contents to
be described separately (see [I-D.ietf-weirds-json-response]). This be described separately (see [I-D.ietf-weirds-json-response]). This
document only describes how RDAP is transported using HTTP with this document only describes how RDAP is transported using HTTP with this
format. format.
Third, this protocol is intended to be able to make use of the range Third, this protocol is intended to be able to make use of the range
of mechanisms available for use with HTTP. HTTP offers a number of of mechanisms available for use with HTTP. HTTP offers a number of
mechanisms not described further in this document. Operators are mechanisms not described further in this document. Operators are
able to make use of these mechanisms according to their local policy, able to make use of these mechanisms according to their local policy,
including cache control, authorization, compression, and redirection. including cache control, authorization, compression, and redirection.
skipping to change at page 5, line 19 skipping to change at page 5, line 21
Third, this protocol is intended to be able to make use of the range Third, this protocol is intended to be able to make use of the range
of mechanisms available for use with HTTP. HTTP offers a number of of mechanisms available for use with HTTP. HTTP offers a number of
mechanisms not described further in this document. Operators are mechanisms not described further in this document. Operators are
able to make use of these mechanisms according to their local policy, able to make use of these mechanisms according to their local policy,
including cache control, authorization, compression, and redirection. including cache control, authorization, compression, and redirection.
HTTP also benefits from widespread investment in scalability, HTTP also benefits from widespread investment in scalability,
reliability, and performance, and widespread programmer understanding reliability, and performance, and widespread programmer understanding
of client behaviours for web services styled after REST [REST], of client behaviours for web services styled after REST [REST],
reducing the cost to deploy Registration Data Directory Services and reducing the cost to deploy Registration Data Directory Services and
clients. clients. This protocol is forward compatible with HTTP 2.0.
4. Queries 4. Queries
4.1. HTTP Methods 4.1. HTTP Methods
Clients use the GET method to retrieve a response body and use the Clients use the GET method to retrieve a response body and use the
HEAD method to determine existence of data on the server. Clients HEAD method to determine existence of data on the server. Clients
SHOULD use either the HTTP GET or HEAD methods (see [RFC7231]). SHOULD use either the HTTP GET or HEAD methods (see [RFC7231]).
Servers are under no obligation to support other HTTP methods, Servers are under no obligation to support other HTTP methods,
therefore clients using other methods will likely not interoperate therefore clients using other methods will likely not interoperate
properly. properly.
Clients MUST support HTTPS as well as HTTP to support security Clients and servers MUST support HTTPS to support security services.
services.
4.2. Accept Header 4.2. Accept Header
To indicate to servers that an RDAP response is desired, clients To indicate to servers that an RDAP response is desired, clients
include an Accept: header field with an RDAP specific JSON media include an Accept: header field with an RDAP specific JSON media
type, the generic JSON media type, or both. Servers receiving an type, the generic JSON media type, or both. Servers receiving an
RDAP request return an entity with a Content-Type: header containing RDAP request return an entity with a Content-Type: header containing
the RDAP specific JSON media type. the RDAP specific JSON media type.
This specification does not define the responses a server returns to This specification does not define the responses a server returns to
skipping to change at page 6, line 46 skipping to change at page 6, line 51
should not have to transform the URL to follow it. Servers are under should not have to transform the URL to follow it. Servers are under
no obligation to return a URL conformant to no obligation to return a URL conformant to
[I-D.ietf-weirds-rdap-query]. [I-D.ietf-weirds-rdap-query].
For this application, such an example of a permanent move might be a For this application, such an example of a permanent move might be a
Top Level Domain (TLD) operator informing a client the information Top Level Domain (TLD) operator informing a client the information
being sought can be found with another TLD operator (i.e. a query for being sought can be found with another TLD operator (i.e. a query for
the domain bar in foo.example is found at http://foo.example/domain/ the domain bar in foo.example is found at http://foo.example/domain/
bar). bar).
For example, if the client sends For example, if the client uses
http://serv1.example.com/weirds/domain/example.com http://serv1.example.com/weirds/domain/example.com
the server redirecting to the server redirecting to
https://serv2.example.net/weirds2/ https://serv2.example.net/weirds2/
would set the Location: field to the value would set the Location: field to the value
https://serv2.example.net/weirds2/domain/example.com https://serv2.example.net/weirds2/domain/example.com
5.3. Negative Answers 5.3. Negative Answers
If a server wishes to respond that it has an empty result set (that If a server wishes to respond that it has an empty result set (that
is, no data appropriately satisfying the query), it returns a 404 is, no data appropriately satisfying the query), it returns a 404
(Not Found) response code. Optionally, it MAY include additional (Not Found) response code. Optionally, it MAY include additional
information regarding the negative answer in the HTTP entity body. information regarding the negative answer in the HTTP entity body.
If a server wishes to inform the client that information about the If a server wishes to inform the client that information about the
query is available, but cannot include the information in the query is available, but cannot include the information in the
response to the client for policy reasons, the server MUST respond response to the client for policy reasons, the server MUST respond
with an appropriate response code out of HTTP's 4xx range. Clients with an appropriate response code out of HTTP's 4xx range. A client
MAY retry the query based on the respective response code. MAY retry the query if that is appropriate for the respective
response code.
5.4. Malformed Queries 5.4. Malformed Queries
If a server receives a query which it cannot interpret as an RDAP If a server receives a query which it cannot interpret as an RDAP
query, it returns a 400 (Bad Request) response code. Optionally, it query, it returns a 400 (Bad Request) response code. Optionally, it
MAY include additional information regarding this negative answer in MAY include additional information regarding this negative answer in
the HTTP entity body. the HTTP entity body.
5.5. Rate Limits 5.5. Rate Limits
Some servers apply rate limits to deter address scraping and other Some servers apply rate limits to deter address scraping and other
abuses. When a server declines to answer a query due to rate limits, abuses. When a server declines to answer a query due to rate limits,
it returns a 429 (Too Many Requests) response code as described in it returns a 429 (Too Many Requests) response code as described in
[RFC6585]. A client that receives a 429 response SHOULD decrease its [RFC6585]. A client that receives a 429 response SHOULD decrease its
query rate, and honor the Retry-After header field if one is present. query rate, and honor the Retry-After header field if one is present.
Servers may place stricter limits upon clients that do not honor the Servers may place stricter limits upon clients that do not honor the
Retry-After header. Retry-After header. Optionally, the server MAY include additional
information regarding the rate limiting in the HTTP entity body.
Note that this is not a defense against denial-of-service attacks, Note that this is not a defense against denial-of-service attacks,
since a malicious client could ignore the code and continue to send since a malicious client could ignore the code and continue to send
queries at a high rate. A server might use another response code if queries at a high rate. A server might use another response code if
it did not wish to reveal to a client that rate limiting is the it did not wish to reveal to a client that rate limiting is the
reason for the denial of a reply. reason for the denial of a reply.
5.6. Cross-Origin Resource Sharing 5.6. Cross-Origin Resource Sharing
When responding to queries, it is RECOMMENDED that servers use the When responding to queries, it is RECOMMENDED that servers use the
Access-Control-Allow-Origin header field, as specified by Access-Control-Allow-Origin header field, as specified by
[W3C.CR-cors-20130129]. A value of "*" is suitable when RDAP is used [W3C.CR-cors-20130129]. A value of "*" is suitable when RDAP is used
for public resources. for public resources.
This header (often called the CORS header) helps in-browser web This header (often called the CORS header) helps in-browser web
applications by lifting the "same-origin" restriction. applications by lifting the "same-origin" restriction (i.e. a browser
may load RDAP client code from one web server but query others for
RDAP data).
By default, browsers do not send cookies when cross origin requests
are allowed. Setting the Access-Control-Allow-Credentials header to
"true" will send cookies. Use of the Access-Control-Allow-
Credentials is NOT RECOMMENDED.
6. Extensibility 6. Extensibility
For extensibility purposes, this document defines an IANA registry For extensibility purposes, this document defines an IANA registry
for prefixes used in JSON [RFC7159] data serialization and URI path for prefixes used in JSON [RFC7159] data serialization and URI path
segments (see Section 8). segments (see Section 8).
Prefixes and identifiers SHOULD only consist of the alphabetic ASCII Prefixes and identifiers SHOULD only consist of the alphabetic ASCII
characters A through Z in both uppercase and lowercase, the numerical characters A through Z in both uppercase and lowercase, the numerical
digits 0 through 9, underscore characters, and SHOULD NOT begin with digits 0 through 9, underscore characters, and SHOULD NOT begin with
skipping to change at page 8, line 40 skipping to change at page 9, line 10
languages such as Ruby or Java can use libraries that automatically languages such as Ruby or Java can use libraries that automatically
promote JSON names to first order object attributes or members. promote JSON names to first order object attributes or members.
Second, a clean mapping between JSON and XML is easy to accomplish Second, a clean mapping between JSON and XML is easy to accomplish
using these rules. using these rules.
7. Security Considerations 7. Security Considerations
This document does not pose strong security requirements to the RDAP This document does not pose strong security requirements to the RDAP
protocol. However, it does not restrict against the use of security protocol. However, it does not restrict against the use of security
mechanisms offered by the HTTP protocol. It does require that RDAP mechanisms offered by the HTTP protocol. It does require that RDAP
clients MUST support HTTPS. clients and server MUST support HTTPS.
This document makes recommendations for server implementations This document makes recommendations for server implementations
against denial-of-service (Section 5.5) and interoperability with against denial-of-service (Section 5.5) and interoperability with
existing security mechanism in HTTP clients (Section 5.6). existing security mechanism in HTTP clients (Section 5.6).
Additional security considerations to the RDAP protocol are covered Additional security considerations to the RDAP protocol are covered
in [I-D.ietf-weirds-rdap-sec]. in [I-D.ietf-weirds-rdap-sec].
8. IANA Considerations 8. IANA Considerations
skipping to change at page 11, line 19 skipping to change at page 11, line 37
This document is the work product of the IETF's WEIRDS working group, This document is the work product of the IETF's WEIRDS working group,
of which Olaf Kolkman and Murray Kucherawy were chairs. of which Olaf Kolkman and Murray Kucherawy were chairs.
11. References 11. References
11.1. Normative References 11.1. Normative References
[I-D.ietf-weirds-bootstrap] [I-D.ietf-weirds-bootstrap]
Blanchet, M., "Finding the Authoritative Registration Data Blanchet, M., "Finding the Authoritative Registration Data
(RDAP) Service", draft-ietf-weirds-bootstrap-09 (work in (RDAP) Service", draft-ietf-weirds-bootstrap-10 (work in
progress), October 2014. progress), October 2014.
[I-D.ietf-weirds-json-response] [I-D.ietf-weirds-json-response]
Newton, A. and S. Hollenbeck, "JSON Responses for the Newton, A. and S. Hollenbeck, "JSON Responses for the
Registration Data Access Protocol (RDAP)", draft-ietf- Registration Data Access Protocol (RDAP)", draft-ietf-
weirds-json-response-10 (work in progress), October 2014. weirds-json-response-11 (work in progress), October 2014.
[I-D.ietf-weirds-rdap-query] [I-D.ietf-weirds-rdap-query]
Newton, A. and S. Hollenbeck, "Registration Data Access Newton, A. and S. Hollenbeck, "Registration Data Access
Protocol Query Format", draft-ietf-weirds-rdap-query-15 Protocol Query Format", draft-ietf-weirds-rdap-query-16
(work in progress), October 2014. (work in progress), October 2014.
[I-D.ietf-weirds-rdap-sec] [I-D.ietf-weirds-rdap-sec]
Hollenbeck, S. and N. Kong, "Security Services for the Hollenbeck, S. and N. Kong, "Security Services for the
Registration Data Access Protocol", draft-ietf-weirds- Registration Data Access Protocol", draft-ietf-weirds-
rdap-sec-09 (work in progress), September 2014. rdap-sec-10 (work in progress), October 2014.
[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, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, RFC Resource Identifier (URI): Generic Syntax", STD 66, RFC
3986, January 2005. 3986, January 2005.
[RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource
Identifiers (IRIs)", RFC 3987, January 2005. Identifiers (IRIs)", RFC 3987, January 2005.
skipping to change at page 19, line 5 skipping to change at page 20, line 5
about it. about it.
* A reference to draft-ietf-weirds-bootstrap was added. * A reference to draft-ietf-weirds-bootstrap was added.
* Included a section on redirectors. * Included a section on redirectors.
-13 -13
* Addressed AD feedback. * Addressed AD feedback.
-15 -14
* Addressed Last Call comments. * Addressed Last Call comments.
-15
* Addressed IESG comments.
Authors' Addresses Authors' Addresses
Andrew Lee Newton Andrew Lee Newton
American Registry for Internet Numbers American Registry for Internet Numbers
3635 Concorde Parkway 3635 Concorde Parkway
Chantilly, VA 20151 Chantilly, VA 20151
US US
Email: andy@arin.net Email: andy@arin.net
URI: http://www.arin.net URI: http://www.arin.net
 End of changes. 27 change blocks. 
39 lines changed or deleted 50 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/