rfc9082.original | rfc9082.txt | |||
---|---|---|---|---|
REGEXT Working Group S. Hollenbeck | Internet Engineering Task Force (IETF) S. Hollenbeck | |||
Internet-Draft Verisign Labs | Request for Comments: 9082 Verisign Labs | |||
Obsoletes: 7482 (if approved) A. Newton | STD: 95 A. Newton | |||
Intended status: Standards Track AWS | Obsoletes: 7482 AWS | |||
Expires: 26 August 2021 22 February 2021 | Category: Standards Track June 2021 | |||
ISSN: 2070-1721 | ||||
Registration Data Access Protocol (RDAP) Query Format | Registration Data Access Protocol (RDAP) Query Format | |||
draft-ietf-regext-rfc7482bis-03 | ||||
Abstract | Abstract | |||
This document describes uniform patterns to construct HTTP URLs that | This document describes uniform patterns to construct HTTP URLs that | |||
may be used to retrieve registration information from registries | may be used to retrieve registration information from registries | |||
(including both Regional Internet Registries (RIRs) and Domain Name | (including both Regional Internet Registries (RIRs) and Domain Name | |||
Registries (DNRs)) using "RESTful" web access patterns. These | Registries (DNRs)) using "RESTful" web access patterns. These | |||
uniform patterns define the query syntax for the Registration Data | uniform patterns define the query syntax for the Registration Data | |||
Access Protocol (RDAP). If approved, this document obsoletes RFC | Access Protocol (RDAP). This document obsoletes RFC 7482. | |||
7482. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 26 August 2021. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9082. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Simplified BSD License text | to this document. Code Components extracted from this document must | |||
as described in Section 4.e of the Trust Legal Provisions and are | include Simplified BSD License text as described in Section 4.e of | |||
provided without warranty as described in the Simplified BSD License. | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. Conventions Used in This Document . . . . . . . . . . . . . . 4 | 2. Conventions Used in This Document | |||
2.1. Acronyms and Abbreviations . . . . . . . . . . . . . . . 4 | 2.1. Acronyms and Abbreviations | |||
3. Path Segment Specification . . . . . . . . . . . . . . . . . 5 | 3. Path Segment Specification | |||
3.1. Lookup Path Segment Specification . . . . . . . . . . . . 6 | 3.1. Lookup Path Segment Specification | |||
3.1.1. IP Network Path Segment Specification . . . . . . . . 6 | 3.1.1. IP Network Path Segment Specification | |||
3.1.2. Autonomous System Path Segment Specification . . . . 7 | 3.1.2. Autonomous System Path Segment Specification | |||
3.1.3. Domain Path Segment Specification . . . . . . . . . . 7 | 3.1.3. Domain Path Segment Specification | |||
3.1.4. Nameserver Path Segment Specification . . . . . . . . 9 | 3.1.4. Nameserver Path Segment Specification | |||
3.1.5. Entity Path Segment Specification . . . . . . . . . . 9 | 3.1.5. Entity Path Segment Specification | |||
3.1.6. Help Path Segment Specification . . . . . . . . . . . 9 | 3.1.6. Help Path Segment Specification | |||
3.2. Search Path Segment Specification . . . . . . . . . . . . 10 | 3.2. Search Path Segment Specification | |||
3.2.1. Domain Search . . . . . . . . . . . . . . . . . . . . 10 | 3.2.1. Domain Search | |||
3.2.2. Nameserver Search . . . . . . . . . . . . . . . . . . 11 | 3.2.2. Nameserver Search | |||
3.2.3. Entity Search . . . . . . . . . . . . . . . . . . . . 12 | 3.2.3. Entity Search | |||
4. Query Processing . . . . . . . . . . . . . . . . . . . . . . 13 | 4. Query Processing | |||
4.1. Partial String Searching . . . . . . . . . . . . . . . . 13 | 4.1. Partial String Searching | |||
4.2. Associated Records . . . . . . . . . . . . . . . . . . . 14 | 4.2. Associated Records | |||
5. Extensibility . . . . . . . . . . . . . . . . . . . . . . . . 15 | 5. Extensibility | |||
6. Internationalization Considerations . . . . . . . . . . . . . 15 | 6. Internationalization Considerations | |||
6.1. Character Encoding Considerations . . . . . . . . . . . . 15 | 6.1. Character Encoding Considerations | |||
7. Implementation Status . . . . . . . . . . . . . . . . . . . . 16 | 7. IANA Considerations | |||
7.1. Viagenie . . . . . . . . . . . . . . . . . . . . . . . . 17 | 8. Security Considerations | |||
7.2. ARIN . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 9. References | |||
7.3. NicInfo . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 9.1. Normative References | |||
7.4. LACNIC . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 9.2. Informative References | |||
7.5. ICANN . . . . . . . . . . . . . . . . . . . . . . . . . . 19 | Appendix A. Changes from RFC 7482 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | Acknowledgments | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | Authors' Addresses | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | ||||
10.1. Normative References . . . . . . . . . . . . . . . . . . 21 | ||||
10.2. Informative References . . . . . . . . . . . . . . . . . 23 | ||||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 24 | ||||
Changes from RFC 7482 . . . . . . . . . . . . . . . . . . . . . . 25 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 | ||||
1. Introduction | 1. Introduction | |||
This document describes a specification for querying registration | This document describes a specification for querying registration | |||
data using a RESTful web service and uniform query patterns. The | data using a RESTful web service and uniform query patterns. The | |||
service is implemented using the Hypertext Transfer Protocol (HTTP) | service is implemented using the Hypertext Transfer Protocol (HTTP) | |||
[RFC7230] and the conventions described in [RFC7480]. These uniform | [RFC7230] and the conventions described in [RFC7480]. These uniform | |||
patterns define the query syntax for the Registration Data Access | patterns define the query syntax for the Registration Data Access | |||
Protocol (RDAP). If approved, this document obsoletes RFC 7482. | Protocol (RDAP). This document obsoletes RFC 7482. | |||
The protocol described in this specification is intended to address | The protocol described in this specification is intended to address | |||
deficiencies with the WHOIS protocol [RFC3912] that have been | deficiencies with the WHOIS protocol [RFC3912] that have been | |||
identified over time, including: | identified over time, including: | |||
* lack of standardized command structures; | * lack of standardized command structures; | |||
* lack of standardized output and error structures; | * lack of standardized output and error structures; | |||
* lack of support for internationalization and localization; and | * lack of support for internationalization and localization; and | |||
skipping to change at page 4, line 17 ¶ | skipping to change at line 139 ¶ | |||
described in Section 5 to accommodate custom extensions that will not | described in Section 5 to accommodate custom extensions that will not | |||
interfere with the patterns defined in this document or patterns | interfere with the patterns defined in this document or patterns | |||
defined in future IETF specifications. | defined in future IETF specifications. | |||
WHOIS services, in general, are read-only services. Accordingly, URL | WHOIS services, in general, are read-only services. Accordingly, URL | |||
[RFC3986] patterns specified in this document are only applicable to | [RFC3986] patterns specified in this document are only applicable to | |||
the HTTP [RFC7231] GET and HEAD methods. | the HTTP [RFC7231] GET and HEAD methods. | |||
This document does not describe the results or entities returned from | This document does not describe the results or entities returned from | |||
issuing the described URLs with an HTTP GET. The specification of | issuing the described URLs with an HTTP GET. The specification of | |||
these entities is described in [I-D.ietf-regext-rfc7483bis]. | these entities is described in [RFC9083]. | |||
Additionally, resource management, provisioning, and update functions | Additionally, resource management, provisioning, and update functions | |||
are out of scope for this document. Registries have various and | are out of scope for this document. Registries have various and | |||
divergent methods covering these functions, and it is unlikely a | divergent methods covering these functions, and it is unlikely a | |||
uniform approach is needed for interoperability. | uniform approach is needed for interoperability. | |||
HTTP contains mechanisms for servers to authenticate clients and for | HTTP contains mechanisms for servers to authenticate clients and for | |||
clients to authenticate servers (from which authorization schemes may | clients to authenticate servers (from which authorization schemes may | |||
be built), so such mechanisms are not described in this document. | be built), so such mechanisms are not described in this document. | |||
Policy, provisioning, and processing of authentication and | Policy, provisioning, and processing of authentication and | |||
authorization are out of scope for this document as deployments will | authorization are out of scope for this document as deployments will | |||
have to make choices based on local criteria. Supported | have to make choices based on local criteria. Supported | |||
authentication mechanisms are described in [RFC7481]. | authentication mechanisms are described in [RFC7481]. | |||
2. Conventions Used in This Document | 2. Conventions Used in This Document | |||
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 | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
2.1. Acronyms and Abbreviations | 2.1. Acronyms and Abbreviations | |||
IDN: Internationalized Domain Name, a fully-qualified domain name | IDN: Internationalized Domain Name, a fully-qualified domain name | |||
containing one or more labels that are intended to include one or | containing one or more labels that are intended to include one or | |||
more Unicode code points outside the ASCII range (cf. "domain | more Unicode code points outside the ASCII range (cf. "domain | |||
name", "fully-qualified domain name" and "internationalized domain | name", "fully-qualified domain name", and "internationalized | |||
name" in RFC 8499 [RFC8499]). | domain name" in RFC 8499 [RFC8499]). | |||
IDNA: Internationalized Domain Names in Applications, a protocol | IDNA: Internationalized Domain Names in Applications, a protocol for | |||
for the handling of IDNs. In this document, "IDNA" refers | the handling of IDNs. In this document, "IDNA" refers | |||
specifically to the version of those specifications known as | specifically to the version of those specifications known as | |||
"IDNA2008" [RFC5890]. | "IDNA2008" [RFC5890]. | |||
DNR: Domain Name Registry or Domain Name Registrar | DNR: Domain Name Registry or Domain Name Registrar | |||
NFC: Unicode Normalization Form C [Unicode-UAX15] | NFC: Unicode Normalization Form C [Unicode-UAX15] | |||
NFKC: Unicode Normalization Form KC [Unicode-UAX15] | NFKC: Unicode Normalization Form KC [Unicode-UAX15] | |||
RDAP: Registration Data Access Protocol | RDAP: Registration Data Access Protocol | |||
REST: Representational State Transfer. The term was first | REST: Representational State Transfer. The term was first described | |||
described in a doctoral dissertation [REST]. | in a doctoral dissertation [REST]. | |||
RESTful: An adjective that describes a service using HTTP and the | RESTful: An adjective that describes a service using HTTP and the | |||
principles of REST. | principles of REST. | |||
RIR: Regional Internet Registry | RIR: Regional Internet Registry | |||
3. Path Segment Specification | 3. Path Segment Specification | |||
The base URLs used to construct RDAP queries are maintained in an | The base URLs used to construct RDAP queries are maintained in an | |||
IANA registry (the "bootstrap registry") described in [RFC7484]. | IANA registry (the "bootstrap registry") described in [RFC7484]. | |||
Queries are formed by retrieving an appropriate base URL from the | Queries are formed by retrieving an appropriate base URL from the | |||
registry and appending a path segment specified in either Sections | registry and appending a path segment specified in either Sections | |||
3.1 or 3.2. Generally, a registry or other service provider will | 3.1 or 3.2. Generally, a registry or other service provider will | |||
provide a base URL that identifies the protocol, host, and port, and | provide a base URL that identifies the protocol, host, and port, and | |||
this will be used as a base URL that the complete URL is resolved | this will be used as a base URL that the complete URL is resolved | |||
skipping to change at page 6, line 13 ¶ | skipping to change at line 228 ¶ | |||
specified in Section 3.1.6. | specified in Section 3.1.6. | |||
3.1. Lookup Path Segment Specification | 3.1. Lookup Path Segment Specification | |||
A simple lookup to determine if an object exists (or not) without | A simple lookup to determine if an object exists (or not) without | |||
returning RDAP-encoded results can be performed using the HTTP HEAD | returning RDAP-encoded results can be performed using the HTTP HEAD | |||
method as described in Section 4.1 of [RFC7480]. | method as described in Section 4.1 of [RFC7480]. | |||
The resource type path segments for exact match lookup are: | The resource type path segments for exact match lookup are: | |||
* 'ip': Used to identify IP networks and associated data referenced | 'ip': Used to identify IP networks and associated data referenced | |||
using either an IPv4 or IPv6 address. | using either an IPv4 or IPv6 address. | |||
* 'autnum': Used to identify Autonomous System number registrations | 'autnum': Used to identify Autonomous System number registrations | |||
and associated data referenced using an asplain Autonomous System | and associated data referenced using an asplain Autonomous System | |||
number. | number. | |||
* 'domain': Used to identify reverse DNS (RIR) or domain name (DNR) | 'domain': Used to identify reverse DNS (RIR) or domain name (DNR) | |||
information and associated data referenced using a fully qualified | information and associated data referenced using a fully qualified | |||
domain name. | domain name. | |||
* 'nameserver': Used to identify a nameserver information query | 'nameserver': Used to identify a nameserver information query using | |||
using a host name. | a host name. | |||
* 'entity': Used to identify an entity information query using a | 'entity': Used to identify an entity information query using a | |||
string identifier. | string identifier. | |||
3.1.1. IP Network Path Segment Specification | 3.1.1. IP Network Path Segment Specification | |||
Syntax: ip/<IP address> or ip/<CIDR prefix>/<CIDR length> | Syntax: ip/<IP address> or ip/<CIDR prefix>/<CIDR length> | |||
Queries for information about IP networks are of the form /ip/XXX or | Queries for information about IP networks are of the form /ip/XXX or | |||
/ip/XXX/YY where the path segment following 'ip' is either an IPv4 | /ip/XXX/YY where the path segment following 'ip' is either an IPv4 | |||
dotted decimal or IPv6 [RFC5952] address (i.e., XXX) or an IPv4 or | dotted decimal or IPv6 [RFC5952] address (i.e., XXX) or an IPv4 or | |||
IPv6 Classless Inter-domain Routing (CIDR) [RFC4632] notation address | IPv6 Classless Inter-domain Routing (CIDR) [RFC4632] notation address | |||
block (i.e., XXX/YY). Semantically, the simpler form using the | block (i.e., XXX/YY). Semantically, the simpler form using the | |||
address can be thought of as a CIDR block with a prefix length of 32 | address can be thought of as a CIDR block with a prefix length of 32 | |||
for IPv4 and a prefix length of 128 for IPv6. A given specific | for IPv4 and a prefix length of 128 for IPv6. A given specific | |||
address or CIDR may fall within multiple IP networks in a hierarchy | address or CIDR may fall within multiple IP networks in a hierarchy | |||
of networks; therefore, this query targets the "most-specific" or | of networks; therefore, this query targets the "most-specific" or | |||
skipping to change at page 7, line 26 ¶ | skipping to change at line 289 ¶ | |||
https://example.com/rdap/ip/192.0.2.0/24 | https://example.com/rdap/ip/192.0.2.0/24 | |||
The following URL would be used to find information for the most | The following URL would be used to find information for the most | |||
specific network containing 2001:db8:: | specific network containing 2001:db8:: | |||
https://example.com/rdap/ip/2001:db8:: | https://example.com/rdap/ip/2001:db8:: | |||
3.1.2. Autonomous System Path Segment Specification | 3.1.2. Autonomous System Path Segment Specification | |||
Syntax: autnum/<autonomous system number> | Syntax: autnum/<autonomous system number> | |||
Queries for information regarding Autonomous System number | Queries for information regarding Autonomous System number | |||
registrations are of the form /autnum/XXX where XXX is an asplain | registrations are of the form /autnum/XXX where XXX is an asplain | |||
Autonomous System number [RFC5396]. In some registries, registration | Autonomous System number [RFC5396]. In some registries, registration | |||
of Autonomous System numbers is done on an individual number basis, | of Autonomous System numbers is done on an individual number basis, | |||
while other registries may register blocks of Autonomous System | while other registries may register blocks of Autonomous System | |||
numbers. The semantics of this query are such that if a number falls | numbers. The semantics of this query are such that if a number falls | |||
within a range of registered blocks, the target of the query is the | within a range of registered blocks, the target of the query is the | |||
block registration and that individual number registrations are | block registration and that individual number registrations are | |||
considered a block of numbers with a size of 1. | considered a block of numbers with a size of 1. | |||
skipping to change at page 7, line 51 ¶ | skipping to change at line 314 ¶ | |||
https://example.com/rdap/autnum/12 | https://example.com/rdap/autnum/12 | |||
The following URL would be used to find information describing 4-byte | The following URL would be used to find information describing 4-byte | |||
Autonomous System number 65538: | Autonomous System number 65538: | |||
https://example.com/rdap/autnum/65538 | https://example.com/rdap/autnum/65538 | |||
3.1.3. Domain Path Segment Specification | 3.1.3. Domain Path Segment Specification | |||
Syntax: domain/<domain name> | Syntax: domain/<domain name> | |||
Queries for domain information are of the form /domain/XXXX, where | Queries for domain information are of the form /domain/XXXX, where | |||
XXXX is a fully qualified (relative to the root) domain name (as | XXXX is a fully qualified (relative to the root) domain name (as | |||
specified in [RFC0952] and [RFC1123]) in either the in-addr.arpa or | specified in [RFC0952] and [RFC1123]) in either the in-addr.arpa or | |||
ip6.arpa zones (for RIRs) or a fully qualified domain name in a zone | ip6.arpa zones (for RIRs) or a fully qualified domain name in a zone | |||
administered by the server operator (for DNRs). Internationalized | administered by the server operator (for DNRs). Internationalized | |||
Domain Names (IDNs) represented in either A-label or U-label format | Domain Names (IDNs) represented in either A-label or U-label format | |||
[RFC5890] are also valid domain names. See Section 6.1 for | [RFC5890] are also valid domain names. See Section 6.1 for | |||
information on character encoding for the U-label format. | information on character encoding for the U-label format. | |||
IDNs SHOULD NOT be represented as a mixture of A-labels and U-labels; | IDNs SHOULD NOT be represented as a mixture of A-labels and U-labels; | |||
skipping to change at page 8, line 44 ¶ | skipping to change at line 356 ¶ | |||
The following URL would be used to find information describing the | The following URL would be used to find information describing the | |||
zone serving the network 2001:db8:1::/48: | zone serving the network 2001:db8:1::/48: | |||
https://example.com/rdap/domain/1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa | https://example.com/rdap/domain/1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa | |||
The following URL would be used to find information for the | The following URL would be used to find information for the | |||
blah.example.com domain name: | blah.example.com domain name: | |||
https://example.com/rdap/domain/blah.example.com | https://example.com/rdap/domain/blah.example.com | |||
The following URL would be used to find information for the xn--fo- | The following URL would be used to find information for the | |||
5ja.example IDN: | xn--fo-5ja.example IDN: | |||
https://example.com/rdap/domain/xn--fo-5ja.example | https://example.com/rdap/domain/xn--fo-5ja.example | |||
3.1.4. Nameserver Path Segment Specification | 3.1.4. Nameserver Path Segment Specification | |||
Syntax: nameserver/<nameserver name> | Syntax: nameserver/<nameserver name> | |||
The <nameserver name> parameter represents a fully qualified host | The <nameserver name> parameter represents a fully qualified host | |||
name as specified in [RFC0952] and [RFC1123]. Internationalized | name as specified in [RFC0952] and [RFC1123]. Internationalized | |||
names represented in either A-label or U-label format [RFC5890] are | names represented in either A-label or U-label format [RFC5890] are | |||
also valid nameserver names. IDN processing for nameserver names | also valid nameserver names. IDN processing for nameserver names | |||
uses the domain name processing instructions specified in | uses the domain name processing instructions specified in | |||
Section 3.1.3. See Section 6.1 for information on character encoding | Section 3.1.3. See Section 6.1 for information on character encoding | |||
for the U-label format. | for the U-label format. | |||
The following URL would be used to find information for the | The following URL would be used to find information for the | |||
ns1.example.com nameserver: | ns1.example.com nameserver: | |||
https://example.com/rdap/nameserver/ns1.example.com | https://example.com/rdap/nameserver/ns1.example.com | |||
The following URL would be used to find information for the ns1.xn-- | The following URL would be used to find information for the | |||
fo-5ja.example nameserver: | ns1.xn--fo-5ja.example nameserver: | |||
https://example.com/rdap/nameserver/ns1.xn--fo-5ja.example | https://example.com/rdap/nameserver/ns1.xn--fo-5ja.example | |||
3.1.5. Entity Path Segment Specification | 3.1.5. Entity Path Segment Specification | |||
Syntax: entity/<handle> | Syntax: entity/<handle> | |||
The <handle> parameter represents an entity (such as a contact, | The <handle> parameter represents an entity (such as a contact, | |||
registrant, or registrar) identifier whose syntax is specific to the | registrant, or registrar) identifier whose syntax is specific to the | |||
registration provider. For example, for some DNRs, contact | registration provider. For example, for some DNRs, contact | |||
identifiers are specified in [RFC5730] and [RFC5733]. | identifiers are specified in [RFC5730] and [RFC5733]. | |||
The following URL would be used to find information for the entity | The following URL would be used to find information for the entity | |||
associated with handle XXXX: | associated with handle XXXX: | |||
https://example.com/rdap/entity/XXXX | https://example.com/rdap/entity/XXXX | |||
3.1.6. Help Path Segment Specification | 3.1.6. Help Path Segment Specification | |||
Syntax: help | Syntax: help | |||
The help path segment can be used to request helpful information | The help path segment can be used to request helpful information | |||
(command syntax, terms of service, privacy policy, rate-limiting | (command syntax, terms of service, privacy policy, rate-limiting | |||
policy, supported authentication methods, supported extensions, | policy, supported authentication methods, supported extensions, | |||
technical support contact, etc.) from an RDAP server. The response | technical support contact, etc.) from an RDAP server. The response | |||
to "help" should provide basic information that a client needs to | to "help" should provide basic information that a client needs to | |||
successfully use the service. The following URL would be used to | successfully use the service. The following URL would be used to | |||
return "help" information: | return "help" information: | |||
https://example.com/rdap/help | https://example.com/rdap/help | |||
3.2. Search Path Segment Specification | 3.2. Search Path Segment Specification | |||
Pattern matching semantics are described in Section 4.1. The | Pattern matching semantics are described in Section 4.1. The | |||
resource type path segments for search are: | resource type path segments for search are: | |||
* 'domains': Used to identify a domain name information search using | 'domains': Used to identify a domain name information search using a | |||
a pattern to match a fully qualified domain name. | pattern to match a fully qualified domain name. | |||
* 'nameservers': Used to identify a nameserver information search | 'nameservers': Used to identify a nameserver information search | |||
using a pattern to match a host name. | using a pattern to match a host name. | |||
* 'entities': Used to identify an entity information search using a | 'entities': Used to identify an entity information search using a | |||
pattern to match a string identifier. | pattern to match a string identifier. | |||
RDAP search path segments are formed using a concatenation of the | RDAP search path segments are formed using a concatenation of the | |||
plural form of the object being searched for and an HTTP query | plural form of the object being searched for and an HTTP query | |||
string. The HTTP query string is formed using a concatenation of the | string. The HTTP query string is formed using a concatenation of the | |||
question mark character ('?', US-ASCII value 0x003F), a noun | question mark character ('?', US-ASCII value 0x003F), a noun | |||
representing the JSON object property associated with the object | representing the JSON object property associated with the object | |||
being searched for, the equal sign character ('=', US-ASCII value | being searched for, the equal sign character ('=', US-ASCII value | |||
0x003D), and the search pattern (this is in contrast to the more | 0x003D), and the search pattern (this is in contrast to the more | |||
generic HTTP query string that allows multiple simultaneous | generic HTTP query string that allows multiple simultaneous | |||
parameters). Search pattern query processing is described more fully | parameters). Search pattern query processing is described more fully | |||
in Section 4. For the domain, nameserver, and entity objects | in Section 4. For the domain, nameserver, and entity objects | |||
described in this document, the plural object forms are "domains", | described in this document, the plural object forms are "domains", | |||
"nameservers", and "entities". | "nameservers", and "entities". | |||
Detailed results can be retrieved using the HTTP GET method and the | Detailed results can be retrieved using the HTTP GET method and the | |||
path segments specified here. | path segments specified here. | |||
3.2.1. Domain Search | 3.2.1. Domain Search | |||
Syntax: domains?name=<domain search pattern> | Syntax: domains?name=<domain search pattern> | |||
Syntax: domains?nsLdhName=<nameserver search pattern> | Syntax: domains?nsLdhName=<nameserver search pattern> | |||
Syntax: domains?nsIp=<nameserver IP address> | Syntax: domains?nsIp=<nameserver IP address> | |||
Searches for domain information by name are specified using this | Searches for domain information by name are specified using this | |||
form: | form: | |||
domains?name=XXXX | domains?name=XXXX | |||
XXXX is a search pattern representing a domain name in "letters, | XXXX is a search pattern representing a domain name in "letters, | |||
digits, hyphen" (LDH) format [RFC5890]. The following URL would be | digits, hyphen" (LDH) format [RFC5890]. The following URL would be | |||
used to find DNR information for domain names matching the | used to find DNR information for domain names matching the | |||
"example*.com" pattern: | "example*.com" pattern: | |||
https://example.com/rdap/domains?name=example*.com | https://example.com/rdap/domains?name=example*.com | |||
IDNs in U-label format [RFC5890] can also be used as search patterns | IDNs in U-label format [RFC5890] can also be used as search patterns | |||
(see Section 4). Searches for these names are of the form | (see Section 4). Searches for these names are of the form | |||
/domains?name=XXXX, where XXXX is a search pattern representing a | /domains?name=XXXX, where XXXX is a search pattern representing a | |||
skipping to change at page 11, line 42 ¶ | skipping to change at line 492 ¶ | |||
domains?nsIp=ZZZZ | domains?nsIp=ZZZZ | |||
ZZZZ is an IPv4 [RFC1166] or IPv6 [RFC5952] address. The following | ZZZZ is an IPv4 [RFC1166] or IPv6 [RFC5952] address. The following | |||
URL would be used to search for domains that have been delegated to | URL would be used to search for domains that have been delegated to | |||
nameservers that resolve to the "192.0.2.0" address: | nameservers that resolve to the "192.0.2.0" address: | |||
https://example.com/rdap/domains?nsIp=192.0.2.0 | https://example.com/rdap/domains?nsIp=192.0.2.0 | |||
3.2.2. Nameserver Search | 3.2.2. Nameserver Search | |||
Syntax: nameservers?name=<nameserver search pattern> | Syntax: nameservers?name=<nameserver search pattern> | |||
Syntax: nameservers?ip=<nameserver IP address> | Syntax: nameservers?ip=<nameserver IP address> | |||
Searches for nameserver information by nameserver name are specified | Searches for nameserver information by nameserver name are specified | |||
using this form: | using this form: | |||
nameservers?name=XXXX | nameservers?name=XXXX | |||
XXXX is a search pattern representing a host name in "letters, | XXXX is a search pattern representing a host name in "letters, | |||
digits, hyphen" format [RFC5890]. The following URL would be used to | digits, hyphen" format [RFC5890]. The following URL would be used to | |||
find information for nameserver names matching the "ns1.example*.com" | find information for nameserver names matching the "ns1.example*.com" | |||
pattern: | pattern: | |||
https://example.com/rdap/nameservers?name=ns1.example*.com | https://example.com/rdap/nameservers?name=ns1.example*.com | |||
Internationalized nameserver names in U-label format [RFC5890] can | Internationalized nameserver names in U-label format [RFC5890] can | |||
also be used as search patterns (see Section 4). Searches for these | also be used as search patterns (see Section 4). Searches for these | |||
names are of the form /nameservers?name=XXXX, where XXXX is a search | names are of the form /nameservers?name=XXXX, where XXXX is a search | |||
skipping to change at page 12, line 31 ¶ | skipping to change at line 528 ¶ | |||
nameservers?ip=YYYY | nameservers?ip=YYYY | |||
YYYY is an IPv4 [RFC1166] or IPv6 [RFC5952] address. The following | YYYY is an IPv4 [RFC1166] or IPv6 [RFC5952] address. The following | |||
URL would be used to search for nameserver names that resolve to the | URL would be used to search for nameserver names that resolve to the | |||
"192.0.2.0" address: | "192.0.2.0" address: | |||
https://example.com/rdap/nameservers?ip=192.0.2.0 | https://example.com/rdap/nameservers?ip=192.0.2.0 | |||
3.2.3. Entity Search | 3.2.3. Entity Search | |||
Syntax: entities?fn=<entity name search pattern> | Syntax: entities?fn=<entity name search pattern> | |||
Syntax: entities?handle=<entity handle search pattern> | Syntax: entities?handle=<entity handle search pattern> | |||
Searches for entity information by name are specified using this | Searches for entity information by name are specified using this | |||
form: | form: | |||
entities?fn=XXXX | entities?fn=XXXX | |||
XXXX is a search pattern representing the "fn" property of an entity | XXXX is a search pattern representing the "fn" property of an entity | |||
(such as a contact, registrant, or registrar) name as described in | (such as a contact, registrant, or registrar) name as described in | |||
Section 5.1 of [I-D.ietf-regext-rfc7483bis]. The following URL would | Section 5.1 of [RFC9083]. The following URL would be used to find | |||
be used to find information for entity names matching the "Bobby | information for entity names matching the "Bobby Joe*" pattern: | |||
Joe*" pattern: | ||||
https://example.com/rdap/entities?fn=Bobby%20Joe* | https://example.com/rdap/entities?fn=Bobby%20Joe* | |||
Searches for entity information by handle are specified using this | Searches for entity information by handle are specified using this | |||
form: | form: | |||
entities?handle=XXXX | entities?handle=XXXX | |||
XXXX is a search pattern representing an entity (such as a contact, | XXXX is a search pattern representing an entity (such as a contact, | |||
registrant, or registrar) identifier whose syntax is specific to the | registrant, or registrar) identifier whose syntax is specific to the | |||
registration provider. The following URL would be used to find | registration provider. The following URL would be used to find | |||
information for entity handles matching the "CID-40*" pattern: | information for entity handles matching the "CID-40*" pattern: | |||
https://example.com/rdap/entities?handle=CID-40* | https://example.com/rdap/entities?handle=CID-40* | |||
URLs MUST be properly encoded according to the rules of [RFC3986]. | URLs MUST be properly encoded according to the rules of [RFC3986]. | |||
In the example above, "Bobby Joe*" is encoded to "Bobby%20Joe*". | In the example above, "Bobby Joe*" is encoded to "Bobby%20Joe*". | |||
skipping to change at page 13, line 43 ¶ | skipping to change at line 588 ¶ | |||
Additional pattern matching processing is beyond the scope of this | Additional pattern matching processing is beyond the scope of this | |||
specification. | specification. | |||
If a server receives a search request but cannot process the request | If a server receives a search request but cannot process the request | |||
because it does not support a particular style of partial match | because it does not support a particular style of partial match | |||
searching, it SHOULD return an HTTP 422 (Unprocessable Entity) | searching, it SHOULD return an HTTP 422 (Unprocessable Entity) | |||
[RFC4918] response (unless another response code is more appropriate | [RFC4918] response (unless another response code is more appropriate | |||
based on a server's policy settings) to note that search | based on a server's policy settings) to note that search | |||
functionality is supported, but this particular query cannot be | functionality is supported, but this particular query cannot be | |||
processed. When returning a 422 error, the server MAY also return an | processed. When returning a 422 error, the server MAY also return an | |||
error response body as specified in Section 6 of | error response body as specified in Section 6 of [RFC9083] if the | |||
[I-D.ietf-regext-rfc7483bis] if the requested media type is one that | requested media type is one that is specified in [RFC7480]. | |||
is specified in [RFC7480]. | ||||
Partial matching is not feasible across combinations of Unicode | Partial matching is not feasible across combinations of Unicode | |||
characters because Unicode characters can be combined with each | characters because Unicode characters can be combined with each | |||
other. Servers SHOULD NOT partially match combinations of Unicode | other. Servers SHOULD NOT partially match combinations of Unicode | |||
characters where a legal combination is possible. It should be | characters where a legal combination is possible. It should be | |||
noted, though, that it may not always be possible to detect cases | noted, though, that it may not always be possible to detect cases | |||
where a character could have been combined with another character, | where a character could have been combined with another character, | |||
but was not, because characters can be combined in many different | but was not, because characters can be combined in many different | |||
ways. | ways. | |||
skipping to change at page 15, line 38 ¶ | skipping to change at line 674 ¶ | |||
more visually recognizable and familiar than A-label strings, but | more visually recognizable and familiar than A-label strings, but | |||
clients using programmatic interfaces might find it easier to submit | clients using programmatic interfaces might find it easier to submit | |||
and display A-labels if they are unable to input U-labels with their | and display A-labels if they are unable to input U-labels with their | |||
keyboard configuration. Both query forms are acceptable. | keyboard configuration. Both query forms are acceptable. | |||
Internationalized domain and nameserver names can contain character | Internationalized domain and nameserver names can contain character | |||
variants and variant labels as described in [RFC4290]. Clients that | variants and variant labels as described in [RFC4290]. Clients that | |||
support queries for internationalized domain and nameserver names | support queries for internationalized domain and nameserver names | |||
MUST accept service provider responses that describe variants as | MUST accept service provider responses that describe variants as | |||
specified in "JSON Responses for the Registration Data Access | specified in "JSON Responses for the Registration Data Access | |||
Protocol (RDAP)" [I-D.ietf-regext-rfc7483bis]. | Protocol (RDAP)" [RFC9083]. | |||
6.1. Character Encoding Considerations | 6.1. Character Encoding Considerations | |||
Servers can expect to receive search patterns from clients that | Servers can expect to receive search patterns from clients that | |||
contain character strings encoded in different forms supported by | contain character strings encoded in different forms supported by | |||
HTTP. It is entirely possible to apply filters and normalization | HTTP. It is entirely possible to apply filters and normalization | |||
rules to search patterns prior to making character comparisons, but | rules to search patterns prior to making character comparisons, but | |||
this type of processing is more typically needed to determine the | this type of processing is more typically needed to determine the | |||
validity of registered strings than to match patterns. | validity of registered strings than to match patterns. | |||
skipping to change at page 16, line 35 ¶ | skipping to change at line 720 ¶ | |||
For everything else, servers map fullwidth and halfwidth characters | For everything else, servers map fullwidth and halfwidth characters | |||
to their decomposition equivalents. Servers convert strings to the | to their decomposition equivalents. Servers convert strings to the | |||
same coded character set of the target data that is to be looked up | same coded character set of the target data that is to be looked up | |||
or searched, and each string is normalized using the same | or searched, and each string is normalized using the same | |||
normalization that was used on the target data. In general, storage | normalization that was used on the target data. In general, storage | |||
of strings as Unicode is RECOMMENDED. For the purposes of | of strings as Unicode is RECOMMENDED. For the purposes of | |||
comparison, Normalization Form KC (NFKC) [Unicode-UAX15] with case | comparison, Normalization Form KC (NFKC) [Unicode-UAX15] with case | |||
folding is used to maximize predictability and the number of matches. | folding is used to maximize predictability and the number of matches. | |||
Note the use of case-folded NFKC as opposed to NFC in this case. | Note the use of case-folded NFKC as opposed to NFC in this case. | |||
7. Implementation Status | 7. IANA Considerations | |||
NOTE: Please remove this section and the reference to RFC 7942 prior | ||||
to publication as an RFC. | ||||
This section records the status of known implementations of the | ||||
protocol defined by this specification at the time of posting of this | ||||
Internet-Draft, and is based on a proposal described in RFC 7942 | ||||
[RFC7942]. The description of implementations in this section is | ||||
intended to assist the IETF in its decision processes in progressing | ||||
drafts to RFCs. Please note that the listing of any individual | ||||
implementation here does not imply endorsement by the IETF. | ||||
Furthermore, no effort has been spent to verify the information | ||||
presented here that was supplied by IETF contributors. This is not | ||||
intended as, and must not be construed to be, a catalog of available | ||||
implementations or their features. Readers are advised to note that | ||||
other implementations may exist. | ||||
According to RFC 7942, "this will allow reviewers and working groups | ||||
to assign due consideration to documents that have the benefit of | ||||
running code, which may serve as evidence of valuable experimentation | ||||
and feedback that have made the implemented protocols more mature. | ||||
It is up to the individual working groups to use this information as | ||||
they see fit". | ||||
7.1. Viagenie | ||||
* Responsible Organization: Viagenie | ||||
* Location: RDAPBrowser (iOS and Android): https://viagenie.ca/ | ||||
rdapbrowser | ||||
* Description: Mobile app (iOS and Android) implementing an RDAP | ||||
client for domains, IP addresses and AS numbers. | ||||
* Level of Maturity: Production | ||||
* Coverage: All except for nameserver, entity, help, and search path | ||||
segments. | ||||
* Version Compatibility: RFC 7482 | ||||
* Licensing: Proprietary | ||||
* Implementation Experience: Quite simple and easy to deploy. | ||||
Responses are much harder to parse because RDAP servers are not | ||||
compliant. | ||||
* Contact Information: Marc Blanchet, rdapbrowser@viagenie.ca | ||||
* Date Last Updated: September 27, 2019 | ||||
7.2. ARIN | ||||
* Responsible Organization: ARIN | ||||
* Location: search.arin.net https://search.arin.net/rdap/ | ||||
* Description: search.arin.net is a public web page getting about 8k | ||||
queries per day. | ||||
* Level of Maturity: Production. | ||||
* Coverage: Search.arin.net supports lookup of entities by handle, | ||||
search of entities by name, lookup of domain names, lookup of ip | ||||
networks, lookup of autnums. | ||||
* Version Compatibility: RFC 7482 | ||||
* Licensing: Search.arin.net is not publicly licensed. | ||||
* Implementation Experience: The RDAP queries are straightforward | ||||
for the most part. The vast majority of logic goes into | ||||
displaying information. | ||||
* Contact Information: info@arin.net | ||||
* Date Last Updated: July 2019. | ||||
7.3. NicInfo | ||||
* Responsible Organization: ARIN | ||||
* Location: NicInfo https://github.com/arineng/nicinfo | ||||
* Description: NicInfo is a command line client written in Ruby. | ||||
* Level of Maturity: NicInfo started as a research project, but is | ||||
known to be used by some organizations in a production capacity. | ||||
* Version Compatibility: RFC 7482 | ||||
* Licensing: NicInfo is published under the ISC license. | ||||
* Implementation Experience: The RDAP queries are straightforward | ||||
for the most part. The vast majority of logic goes into | ||||
displaying information. | ||||
* Contact Information: info@arin.net | ||||
* Date Last Updated: NicInfo was last updated in Feb 2018. | ||||
7.4. LACNIC | ||||
* Responsible Organization: LACNIC | ||||
* Location: https://github.com/LACNIC/rdap-frontend-angular-dev | ||||
* Description: The goal of this client is to have an RDAP client | ||||
that can be easily embedded in web pages. The original request | ||||
was for a web whois/rdap feature that was to replace a very, very | ||||
old web whois that just popen'd CLI WHOIS and just copied back the | ||||
output to html. We decided to implement something that could, in | ||||
the future, be embedded in any web page and is not tied to our | ||||
current web portal CMS. The client is implemented in Javascript | ||||
and AngularJS. | ||||
* Level of Maturity: We consider the current version production | ||||
quality, it has been in use in our web portal for more than a year | ||||
now. | ||||
* Coverage: The client implements /ip, /autnum, and /entity. The | ||||
client does not support searches. For these objects the | ||||
implementation follows the standard closely. There may be a few | ||||
gaps, but it's mostly aligned to the RFCs. | ||||
* Version Compatibility: RFC 7482 | ||||
* Licensing: BSD-Style | ||||
* Implementation Experience: Users of the traditional WHOIS service | ||||
are a bit confused at first when they realize that an RDAP query | ||||
does not necessarily return the same information and in some cases | ||||
they need to "navigate" the RDAP tree to get data that is normally | ||||
returned in a single WHOIS query. In our experience, this gap in | ||||
expectations has been one of the most significant hurdles in | ||||
adoption of RDAP. Our RDAP client makes this "navigation" easier | ||||
as it presents results in the form of a web page where the "next" | ||||
necessary RDAP query is a click on a link. On the plus side, the | ||||
protocol provides all the information needed to present this links | ||||
and clicks to the user. We have however introduced a few | ||||
extensions into our RDAP responses to get both services to parity | ||||
in the information presented in a single query. | ||||
* Contact Information: Gerardo Rada (gerardo@lacnic.net), Carlos | ||||
Martinez (carlos@lacnic.net) | ||||
* Date Last Updated: This application is currently in maintenance | ||||
mode. Also, we employ a rolling release update. Latest updates | ||||
are available in the git log of the repo. | ||||
7.5. ICANN | ||||
* Responsible Organization: Internet Corporation for Assigned Names | ||||
and Numbers (ICANN) | ||||
* Location: Domain Name Registration Data Lookup: | ||||
https://lookup.icann.org/ | ||||
* Description: ICANN created the Domain Name Registration Data | ||||
Lookup web client as a free public service that gives users the | ||||
ability to look up and display publicly available registration | ||||
data related to a domain name using the top level domain's RDAP | ||||
service location listed in the IANA bootstrap service registry for | ||||
domain name space (RFC 7484), and the sponsoring Registrar's RDAP | ||||
server. This web client implementation also supports the | ||||
specifications defined in the "gTLD RDAP Profile" documents | ||||
(https://www.icann.org/gtld-rdap-profile). | ||||
* Level of Maturity: Production. | ||||
* Coverage: This web client implements RFC 7482 section 3.1.3 | ||||
"Domain Path Segment Specification" to perform lookups exclusively | ||||
for the domain object class. | ||||
* Version Compatibility: RFC 7482 | ||||
* Contact Information: globalSupport@icann.org | ||||
* Date Last Updated: 07-Oct-2019 | ||||
8. IANA Considerations | ||||
This document has no actions for IANA. | This document has no IANA actions. | |||
9. Security Considerations | 8. Security Considerations | |||
Security services for the operations specified in this document are | Security services for the operations specified in this document are | |||
described in "Security Services for the Registration Data Access | described in "Security Services for the Registration Data Access | |||
Protocol (RDAP)" [RFC7481]. | Protocol (RDAP)" [RFC7481]. | |||
Search functionality typically requires more server resources (such | Search functionality typically requires more server resources (such | |||
as memory, CPU cycles, and network bandwidth) when compared to basic | as memory, CPU cycles, and network bandwidth) when compared to basic | |||
lookup functionality. This increases the risk of server resource | lookup functionality. This increases the risk of server resource | |||
exhaustion and subsequent denial of service due to abuse. This risk | exhaustion and subsequent denial of service due to abuse. This risk | |||
can be mitigated by developing and implementing controls to restrict | can be mitigated by developing and implementing controls to restrict | |||
skipping to change at page 21, line 19 ¶ | skipping to change at line 757 ¶ | |||
information about registered domain names that might not be otherwise | information about registered domain names that might not be otherwise | |||
available. Implementers need to consider the policy and privacy | available. Implementers need to consider the policy and privacy | |||
implications of returning information that was not explicitly | implications of returning information that was not explicitly | |||
requested. | requested. | |||
Note that there might not be a single, static information return | Note that there might not be a single, static information return | |||
policy that applies to all clients equally. Client identity and | policy that applies to all clients equally. Client identity and | |||
associated authorizations can be a relevant factor in determining how | associated authorizations can be a relevant factor in determining how | |||
broad the response set will be for any particular query. | broad the response set will be for any particular query. | |||
10. References | 9. References | |||
10.1. Normative References | 9.1. Normative References | |||
[RFC0952] Harrenstien, K., Stahl, M., and E. Feinler, "DoD Internet | [RFC0952] Harrenstien, K., Stahl, M., and E. Feinler, "DoD Internet | |||
host table specification", RFC 952, DOI 10.17487/RFC0952, | host table specification", RFC 952, DOI 10.17487/RFC0952, | |||
October 1985, <https://www.rfc-editor.org/info/rfc952>. | October 1985, <https://www.rfc-editor.org/info/rfc952>. | |||
[RFC1035] Mockapetris, P., "Domain names - implementation and | [RFC1035] Mockapetris, P., "Domain names - implementation and | |||
specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, | specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, | |||
November 1987, <https://www.rfc-editor.org/info/rfc1035>. | November 1987, <https://www.rfc-editor.org/info/rfc1035>. | |||
[RFC1123] Braden, R., Ed., "Requirements for Internet Hosts - | [RFC1123] Braden, R., Ed., "Requirements for Internet Hosts - | |||
skipping to change at page 23, line 6 ¶ | skipping to change at line 841 ¶ | |||
Protocol (HTTP/1.1): Message Syntax and Routing", | Protocol (HTTP/1.1): Message Syntax and Routing", | |||
RFC 7230, DOI 10.17487/RFC7230, June 2014, | RFC 7230, DOI 10.17487/RFC7230, June 2014, | |||
<https://www.rfc-editor.org/info/rfc7230>. | <https://www.rfc-editor.org/info/rfc7230>. | |||
[RFC7231] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer | [RFC7231] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer | |||
Protocol (HTTP/1.1): Semantics and Content", RFC 7231, | Protocol (HTTP/1.1): Semantics and Content", RFC 7231, | |||
DOI 10.17487/RFC7231, June 2014, | DOI 10.17487/RFC7231, June 2014, | |||
<https://www.rfc-editor.org/info/rfc7231>. | <https://www.rfc-editor.org/info/rfc7231>. | |||
[RFC7480] Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the | [RFC7480] Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the | |||
Registration Data Access Protocol (RDAP)", RFC 7480, | Registration Data Access Protocol (RDAP)", STD 95, | |||
DOI 10.17487/RFC7480, March 2015, | RFC 7480, DOI 10.17487/RFC7480, March 2015, | |||
<https://www.rfc-editor.org/info/rfc7480>. | <https://www.rfc-editor.org/info/rfc7480>. | |||
[RFC7481] Hollenbeck, S. and N. Kong, "Security Services for the | [RFC7481] Hollenbeck, S. and N. Kong, "Security Services for the | |||
Registration Data Access Protocol (RDAP)", RFC 7481, | Registration Data Access Protocol (RDAP)", STD 95, | |||
DOI 10.17487/RFC7481, March 2015, | RFC 7481, DOI 10.17487/RFC7481, March 2015, | |||
<https://www.rfc-editor.org/info/rfc7481>. | <https://www.rfc-editor.org/info/rfc7481>. | |||
[RFC7484] Blanchet, M., "Finding the Authoritative Registration Data | [RFC7484] Blanchet, M., "Finding the Authoritative Registration Data | |||
(RDAP) Service", RFC 7484, DOI 10.17487/RFC7484, March | (RDAP) Service", RFC 7484, DOI 10.17487/RFC7484, March | |||
2015, <https://www.rfc-editor.org/info/rfc7484>. | 2015, <https://www.rfc-editor.org/info/rfc7484>. | |||
[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, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | [RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | |||
Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, | Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, | |||
January 2019, <https://www.rfc-editor.org/info/rfc8499>. | January 2019, <https://www.rfc-editor.org/info/rfc8499>. | |||
[I-D.ietf-regext-rfc7483bis] | [RFC9083] Hollenbeck, S. and A. Newton, "JSON Responses for the | |||
Hollenbeck, S. and A. Newton, "JSON Responses for the | Registration Data Access Protocol (RDAP)", STD 95, | |||
Registration Data Access Protocol (RDAP)", Work in | RFC 9083, DOI 10.17487/RFC9083, June 2021, | |||
Progress, Internet-Draft, draft-ietf-regext-rfc7483bis-04, | <https://www.rfc-editor.org/info/rfc9083>. | |||
21 October 2020, <http://www.ietf.org/internet-drafts/ | ||||
draft-ietf-regext-rfc7483bis-04.txt>. | ||||
[Unicode-UAX15] | [Unicode-UAX15] | |||
The Unicode Consortium, "Unicode Standard Annex #15: | The Unicode Consortium, "Unicode Standard Annex #15: | |||
Unicode Normalization Forms", September 2013, | Unicode Normalization Forms", September 2013, | |||
<https://www.unicode.org/reports/tr15/>. | <https://www.unicode.org/reports/tr15/>. | |||
10.2. Informative References | 9.2. Informative References | |||
[REST] Fielding, R., "Architectural Styles and the Design of | [REST] Fielding, R., "Architectural Styles and the Design of | |||
Network-based Software Architectures", Ph.D. | Network-based Software Architectures", Ph.D. | |||
Dissertation, University of California, Irvine, 2000, | Dissertation, University of California, Irvine, 2000, | |||
<https://www.ics.uci.edu/~fielding/pubs/dissertation/ | <https://www.ics.uci.edu/~fielding/pubs/dissertation/ | |||
fielding_dissertation.pdf>. | fielding_dissertation.pdf>. | |||
[RFC3912] Daigle, L., "WHOIS Protocol Specification", RFC 3912, | [RFC3912] Daigle, L., "WHOIS Protocol Specification", RFC 3912, | |||
DOI 10.17487/RFC3912, September 2004, | DOI 10.17487/RFC3912, September 2004, | |||
<https://www.rfc-editor.org/info/rfc3912>. | <https://www.rfc-editor.org/info/rfc3912>. | |||
skipping to change at page 24, line 25 ¶ | skipping to change at line 904 ¶ | |||
[RFC6874] Carpenter, B., Cheshire, S., and R. Hinden, "Representing | [RFC6874] Carpenter, B., Cheshire, S., and R. Hinden, "Representing | |||
IPv6 Zone Identifiers in Address Literals and Uniform | IPv6 Zone Identifiers in Address Literals and Uniform | |||
Resource Identifiers", RFC 6874, DOI 10.17487/RFC6874, | Resource Identifiers", RFC 6874, DOI 10.17487/RFC6874, | |||
February 2013, <https://www.rfc-editor.org/info/rfc6874>. | February 2013, <https://www.rfc-editor.org/info/rfc6874>. | |||
[RFC6927] Levine, J. and P. Hoffman, "Variants in Second-Level Names | [RFC6927] Levine, J. and P. Hoffman, "Variants in Second-Level Names | |||
Registered in Top-Level Domains", RFC 6927, | Registered in Top-Level Domains", RFC 6927, | |||
DOI 10.17487/RFC6927, May 2013, | DOI 10.17487/RFC6927, May 2013, | |||
<https://www.rfc-editor.org/info/rfc6927>. | <https://www.rfc-editor.org/info/rfc6927>. | |||
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | ||||
Code: The Implementation Status Section", BCP 205, | ||||
RFC 7942, DOI 10.17487/RFC7942, July 2016, | ||||
<https://www.rfc-editor.org/info/rfc7942>. | ||||
[RFC8521] Hollenbeck, S. and A. Newton, "Registration Data Access | [RFC8521] Hollenbeck, S. and A. Newton, "Registration Data Access | |||
Protocol (RDAP) Object Tagging", BCP 221, RFC 8521, | Protocol (RDAP) Object Tagging", BCP 221, RFC 8521, | |||
DOI 10.17487/RFC8521, November 2018, | DOI 10.17487/RFC8521, November 2018, | |||
<https://www.rfc-editor.org/info/rfc8521>. | <https://www.rfc-editor.org/info/rfc8521>. | |||
Acknowledgments | Appendix A. Changes from RFC 7482 | |||
This document is derived from original work on RIR query formats | ||||
developed by Byron J. Ellacott of APNIC, Arturo L. Servin of | ||||
LACNIC, Kaveh Ranjbar of the RIPE NCC, and Andrew L. Newton of ARIN. | ||||
Additionally, this document incorporates DNR query formats originally | ||||
described by Francisco Arias and Steve Sheng of ICANN and Scott | ||||
Hollenbeck of Verisign Labs. | ||||
The authors would like to acknowledge the following individuals for | ||||
their contributions to this document: Francisco Arias, Marc Blanchet, | ||||
Ernie Dainow, Jean-Philippe Dionne, Byron J. Ellacott, Behnam | ||||
Esfahbod, John Klensin, John Levine, Edward Lewis, Mario Loffredo, | ||||
Patrick Mevzek, Mark Nottingham, Kaveh Ranjbar, Arturo L. Servin, | ||||
Steve Sheng, Jasdip Singh, and Andrew Sullivan. | ||||
Changes from RFC 7482 | ||||
00: Initial version ported from RFC 7482. Added Implementation | * Addressed known errata. | |||
Status section. Addressed known errata. | ||||
01: Addressed other reported clarifications and corrections: IDN/ | * Addressed other reported clarifications and corrections: IDN, | |||
IDNA definition, note that registrars are entities, definition of | IDNA, and DNR definitions. Noted that registrars are entities. | |||
"DNR", RFC 8521 to address bootstrap registry limitation, removal | Added a reference to RFC 8521 to address the bootstrap registry | |||
of extraneous "...", HTTP query string clarification, search | limitation. Removed extraneous "...". Clarified HTTP query | |||
pattern clarification, name server search clarification, domain | string, search pattern, name server search, domain label suffix, | |||
label suffix and asterisk search clarification. | and asterisk search. | |||
02: Addressed "The HTTP query string" clarification. | * Addressed "The HTTP query string" clarification. | |||
03: Modified co-author address. | * Modified coauthor address. | |||
04: Updated references to 7483 to 7483bis Internet-Draft. Updated | * Updated references to RFC 7483 to RFC 9083. | |||
"Change Log" to "Changes from RFC 7482". Added more detail to the | ||||
changes made in the -01 version. | ||||
05: Added an empty IANA Considerations section to satisfy IDNits. | * Added an IANA Considerations section. Changed references to use | |||
Changed references to use HTTPS for targets. Split ARIN and | HTTPS for targets. | |||
NicInfo implementation status into two sections. | ||||
06: Changed "XXXX is a search pattern representing the "FN" property | * Changed "XXXX is a search pattern representing the "FN" property | |||
of an entity (such as a contact, registrant, or registrar) name as | of an entity (such as a contact, registrant, or registrar) name as | |||
specified in Section 5.1" to "Changed "XXXX is a search pattern | specified in Section 5.1" to "Changed "XXXX is a search pattern | |||
representing the "fn" property of an entity (such as a contact, | representing the "fn" property of an entity (such as a contact, | |||
registrant, or registrar) name as described in Section 5.1". | registrant, or registrar) name as described in Section 5.1". | |||
00: Initial working group version. Added acknowledgments. | * Added acknowledgments. | |||
01: Changed "The intent of the patterns described here are to enable | * Changed "The intent of the patterns described here are to enable | |||
queries" to "The intent of the patterns described here is to | queries" to "The intent of the patterns described here is to | |||
enable queries". Changed "the corresponding syntax extension in | enable queries". | |||
RFC 6874 [RFC6874] MUST NOT be used, and servers are to ignore it | ||||
if possible" to "the corresponding syntax extension in RFC 6874 | * Changed "the corresponding syntax extension in RFC 6874 [RFC6874] | |||
[RFC6874] MUST NOT be used, and servers SHOULD ignore it". | MUST NOT be used, and servers are to ignore it if possible" to | |||
Changed "Only a single asterisk is allowed for a partial string | "the corresponding syntax extension in RFC 6874 [RFC6874] MUST NOT | |||
be used, and servers SHOULD ignore it". | ||||
* Changed "Only a single asterisk is allowed for a partial string | ||||
search" to "A partial string search MUST NOT include more than one | search" to "A partial string search MUST NOT include more than one | |||
asterisk". Changed "Clients should avoid submitting a partial | asterisk". | |||
match search of Unicode characters where a Unicode character may | ||||
be legally combined with another Unicode character or characters" | ||||
to "Clients SHOULD NOT submit a partial match search of Unicode | ||||
characters where a Unicode character may be legally combined with | ||||
another Unicode character or characters". | ||||
02: Changed description of nameserver IP address "search pattern" in | * Changed "Clients should avoid submitting a partial match search of | |||
Unicode characters where a Unicode character may be legally | ||||
combined with another Unicode character or characters" to "Clients | ||||
SHOULD NOT submit a partial match search of Unicode characters | ||||
where a Unicode character may be legally combined with another | ||||
Unicode character or characters". | ||||
* Changed description of nameserver IP address "search pattern" in | ||||
Sections 3.2.1 and 3.2.2. | Sections 3.2.1 and 3.2.2. | |||
03: IESG review feedback: Added "obsoletes 7482" to the headers, | * IESG review feedback: Added "obsoletes 7482" to the headers, | |||
Abstract, and Introduction. Changed "IETF standards" to "IETF | Abstract, and Introduction. Changed "IETF standards" to "IETF | |||
specifications" and "Therefore" to "Accordingly" in Section 1. | specifications" and "Therefore" to "Accordingly" in Section 1. | |||
Updated BCP14 template. Added definition of "bootstrap registry" | Updated the BCP 14 boilerplate. Added definition of "bootstrap | |||
and changed "concatenating ... to" to "concatenating ... with" in | registry" and changed "concatenating ... to" to "concatenating ... | |||
Section 3. Changed "bitmask length" to "prefix length" and | with" in Section 3. Changed "bitmask length" to "prefix length" | |||
"2001:db8::0" to "2001:db8::" in Section 3.1.1. Added "in | and "2001:db8::0" to "2001:db8::" in Section 3.1.1. Added "in | |||
contrast to the more generic HTTP query string that admits | contrast to the more generic HTTP query string that admits | |||
multiple simultaneous parameters" in Section 3.2. Changed | multiple simultaneous parameters" in Section 3.2. Changed | |||
"0x002A" to "0x2A" in Section 4.1. Clarified use of HTTP 422 | "0x002A" to "0x2A" in Section 4.1. Clarified use of HTTP 422 | |||
SHOULD in Section 4.1. | SHOULD in Section 4.1. | |||
Acknowledgments | ||||
This document is derived from original work on RIR query formats | ||||
developed by Byron J. Ellacott of APNIC, Arturo L. Servin of LACNIC, | ||||
Kaveh Ranjbar of the RIPE NCC, and Andrew L. Newton of ARIN. | ||||
Additionally, this document incorporates DNR query formats originally | ||||
described by Francisco Arias and Steve Sheng of ICANN and Scott | ||||
Hollenbeck of Verisign Labs. | ||||
The authors would like to acknowledge the following individuals for | ||||
their contributions to this document: Francisco Arias, Marc Blanchet, | ||||
Ernie Dainow, Jean-Philippe Dionne, Byron J. Ellacott, Behnam | ||||
Esfahbod, John Klensin, John Levine, Edward Lewis, Mario Loffredo, | ||||
Patrick Mevzek, Mark Nottingham, Kaveh Ranjbar, Arturo L. Servin, | ||||
Steve Sheng, Jasdip Singh, and Andrew Sullivan. | ||||
Authors' Addresses | Authors' Addresses | |||
Scott Hollenbeck | Scott Hollenbeck | |||
Verisign Labs | Verisign Labs | |||
12061 Bluemont Way | 12061 Bluemont Way | |||
Reston, VA 20190 | Reston, VA 20190 | |||
United States of America | United States of America | |||
Email: shollenbeck@verisign.com | Email: shollenbeck@verisign.com | |||
URI: https://www.verisignlabs.com/ | URI: https://www.verisignlabs.com/ | |||
End of changes. 76 change blocks. | ||||
367 lines changed or deleted | 174 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/ |