idnits 2.17.1 draft-ietf-weirds-rdap-query-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 01, 2013) is 3857 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-19) exists of draft-ietf-precis-nickname-06 == Outdated reference: A later version (-14) exists of draft-ietf-weirds-json-response-05 == Outdated reference: A later version (-12) exists of draft-ietf-weirds-rdap-sec-05 -- Possible downref: Normative reference to a draft: ref. 'I-D.ietf-weirds-rdap-sec' == Outdated reference: A later version (-15) exists of draft-ietf-weirds-using-http-07 -- Possible downref: Normative reference to a draft: ref. 'I-D.ietf-weirds-using-http' ** Downref: Normative reference to an Unknown state RFC: RFC 952 ** Downref: Normative reference to an Informational RFC: RFC 1166 ** Obsolete normative reference: RFC 2616 (Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235) ** Downref: Normative reference to an Informational RFC: RFC 4290 -- Obsolete informational reference (is this intentional?): RFC 4627 (Obsoleted by RFC 7158, RFC 7159) Summary: 4 errors (**), 0 flaws (~~), 5 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Newton 3 Internet-Draft ARIN 4 Intended status: Standards Track S. Hollenbeck 5 Expires: April 04, 2014 Verisign Labs 6 October 01, 2013 8 Registration Data Access Protocol Query Format 9 draft-ietf-weirds-rdap-query-07 11 Abstract 13 This document describes uniform patterns to construct HTTP URLs that 14 may be used to retrieve registration information from registries 15 (including both Regional Internet Registries (RIRs) and Domain Name 16 Registries (DNRs)) using "RESTful" web access patterns. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on April 04, 2014. 35 Copyright Notice 37 Copyright (c) 2013 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Conventions Used in This Document . . . . . . . . . . . . . . 2 53 1.1. Acronyms and Abbreviations . . . . . . . . . . . . . . . 2 54 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 55 3. Path Segment Specification . . . . . . . . . . . . . . . . . 4 56 3.1. Lookup Path Segment Specification . . . . . . . . . . . . 4 57 3.1.1. IP Network Path Segment Specification . . . . . . . . 4 58 3.1.2. Autonomous System Path Segment Specification . . . . 5 59 3.1.3. Domain Path Segment Specification . . . . . . . . . . 6 60 3.1.4. Name Server Path Segment Specification . . . . . . . 6 61 3.1.5. Entity Path Segment Specification . . . . . . . . . . 7 62 3.1.6. Help Path Segment Specification . . . . . . . . . . . 7 63 3.2. Search Path Segment Specification . . . . . . . . . . . . 8 64 3.2.1. Domain Search . . . . . . . . . . . . . . . . . . . . 8 65 3.2.2. Name Server Search . . . . . . . . . . . . . . . . . 8 66 3.2.3. Entity Search . . . . . . . . . . . . . . . . . . . . 9 67 4. Search Processing . . . . . . . . . . . . . . . . . . . . . . 9 68 5. Extensibility . . . . . . . . . . . . . . . . . . . . . . . . 10 69 6. Internationalization Considerations . . . . . . . . . . . . . 11 70 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 71 8. Security Considerations . . . . . . . . . . . . . . . . . . . 11 72 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 73 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 74 10.1. Normative References . . . . . . . . . . . . . . . . . . 12 75 10.2. Informative References . . . . . . . . . . . . . . . . . 14 76 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 14 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 79 1. Conventions Used in This Document 81 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 82 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 83 document are to be interpreted as described in RFC 2119 [RFC2119]. 85 1.1. Acronyms and Abbreviations 87 IDN: Internationalized Domain Name 88 IDNA: Internationalized Domain Names in Applications 89 DNR: Domain Name Registry 90 RDAP: Registration Data Access Protocol 91 REST: Representational State Transfer State Transfer. The term 92 was first described in a doctoral dissertation [REST]. 93 RESTful: an adjective that describes a service using HTTP and the 94 principles of REST. 95 RIR: Regional Internet Registry 97 2. Introduction 99 This document describes a specification for querying registration 100 data using a RESTful web service and uniform query patterns. The 101 service is implemented using the Hypertext Transfer Protocol (HTTP) 102 [RFC2616]. 104 The protocol described in this specification is intended to address 105 deficiencies with the WHOIS protocol [RFC3912] that have been 106 identified over time, including: 108 o Lack of standardized command structures, 109 o lack of standardized output and error structures, 110 o lack of support for internationalization and localization, and 111 o lack of support for user identification, authentication, and 112 access control. 114 The patterns described in this document purposefully do not encompass 115 all of the methods employed in the WHOIS and RESTful web services of 116 all of the RIRs and DNRs. The intent of the patterns described here 117 are to enable queries of: 119 o networks by IP address, 120 o autonomous system numbers by number, 121 o reverse DNS meta-data by domain, 122 o name servers by name, 123 o registrars by name, and 124 o entities (such as contacts) by identifier. 126 It is envisioned that each registry will continue to maintain NICNAME 127 /WHOIS and/or RESTful web services specific to their needs and those 128 of their constituencies, and the information retrieved through the 129 patterns described here may reference such services. 131 Likewise, future IETF standards may add additional patterns for 132 additional query types. A simple pattern namespacing scheme is 133 described in Section 5 to accomodate custom extensions that will not 134 interfere with the patterns defined in this document or patterns 135 defined in future IETF standards. 137 WHOIS services, in general, are read-only services. Therefore URL 138 [RFC3986] patterns specified in this document are only applicable to 139 the HTTP [RFC2616] GET and HEAD methods. 141 This document does not describe the results or entities returned from 142 issuing the described URLs with an HTTP GET. JSON [RFC4627] result 143 formatting and processing is described in 144 [I-D.ietf-weirds-json-response]. 146 Additionally, resource management, provisioning and update functions 147 are out of scope for this document. Registries have various and 148 divergent methods covering these functions, and it is unlikely a 149 uniform approach for these functions will ever be possible. 151 HTTP contains mechanisms for servers to authenticate clients and for 152 clients to authenticate servers (from which authorization schemes may 153 be built) so such mechanisms are not described in this document. 154 Policy, provisioning, and processing of authentication and 155 authorization are out-of-scope for this document as deployments will 156 have to make choices based on local criteria. Specified 157 authentication mechanisms MUST use HTTP. 159 3. Path Segment Specification 161 The uniform patterns start with a base URL [RFC3986] specified by 162 each registry or any other service provider offering this service. 163 The base URL is followed by a resource-type-specific path segment. 164 The base URL may contain its own path segments (e.g. http:// 165 example.com/... or http://example.com/rdap/... ). The characters 166 used to form a path segment are limited to those that can be used to 167 form a URI as specified in RFC 3986 [RFC3986]. 169 3.1. Lookup Path Segment Specification 171 The resource type path segments for exact match lookup are: 173 o 'ip': Used to identify IP networks and associated data referenced 174 using either an IPv4 or IPv6 address. 175 o 'autnum': Used to identify autonomous system registrations and 176 associated data referenced using an AS Plain autonomous system 177 number. 178 o 'domain': Used to identify reverse DNS (RIR) or domain name (DNR) 179 information and associated data referenced using a fully-qualified 180 domain name. 181 o 'nameserver': Used to identify a name server information query 182 using a host name. 183 o 'entity': Used to identify an entity information query using a 184 string identifier. 186 3.1.1. IP Network Path Segment Specification 188 Syntax: ip/ or ip// 190 Queries for information about IP networks are of the form /ip/XXX/... 191 or /ip/XXX/YY/... where the path segment following 'ip' is either an 192 IPv4 [RFC1166] or IPv6 [RFC5952] address (i.e. XXX) or an IPv4 or 193 IPv6 CIDR [RFC4632] notation address block (i.e. XXX/YY). 195 Semantically, the simpler form using the address can be thought of as 196 a CIDR block with a bitmask length of 32 for IPv4 and a bitmask 197 length of 128 for IPv6. A given specific address or CIDR may fall 198 within multiple IP networks in a hierarchy of networks, therefore 199 this query targets the "most-specific" or smallest IP network which 200 completely encompasses it in a hierarchy of IP networks. 202 The IPv4 and IPv6 address formats supported in this query are 203 described in section 3.2.2 of [RFC3986], as IPv4address and 204 IPv6address ABNF definitions. Any valid IPv6 text address format 205 [RFC4291] can be used, compressed or not compressed. The restricted 206 rules to write a text representation of an IPv6 address [RFC5952] are 207 not mandatory. However, the zone id [RFC4007] is not appropriate in 208 this context and therefore prohibited. 210 This is an example URL for the most specific network containing 211 192.0.2.0: 213 /ip/192.0.2.0 215 This is an example of a URL the most specific network containing 216 192.0.2.0/24: 218 /ip/192.0.2.0/24 220 This is an example URL for the most specific network containing 221 2001:db8:1:1::1: 223 /ip/2001:db8:1:1::1 225 3.1.2. Autonomous System Path Segment Specification 227 Syntax: autnum/ 229 Queries for information regarding autonomous system number 230 registrations are of the form /autnum/XXX/... where XXX is an AS 231 Plain autonomous system number [RFC5396]. In some registries, 232 registration of autonomous system numbers is done on an individual 233 number basis, while other registries may register blocks of 234 autonomous system numbers. The semantics of this query are such that 235 if a number falls within a range of registered blocks, the target of 236 the query is the block registration, and that individual number 237 registrations are considered a block of numbers with a size of 1. 239 For example, to find information on autonomous system number 65551, 240 the following path would be used: 242 /autnum/65551 243 The following path would be used to find information on 4-byte 244 autonomous system number 65538: 246 /autnum/65538 248 3.1.3. Domain Path Segment Specification 250 Syntax: domain/ 252 Queries for domain information are of the form /domain/XXXX/..., 253 where XXXX is a fully-qualified domain name [RFC4343] in either the 254 in-addr.arpa or ip6.arpa zones (for RIRs) or a fully-qualified domain 255 name in a zone administered by the server operator (for DNRs). 256 Internationalized domain names represented in either A-label or 257 U-label format [RFC5890] are also valid domain names. IDN labels 258 SHOULD NOT be represented as a mixture of A-labels and U-labels. 260 If the client sends the server an IDN in U-label format, servers that 261 support IDNs MUST convert the IDN into A-label format and perform 262 IDNA processing as specified in RFC 5891 [RFC5891]. The server 263 should perform an exact match lookup using the A-label. 265 The following path would be used to find information describing the 266 zone serving the network 192.0.2/24: 268 /domain/2.0.192.in-addr.arpa 270 The following path would be used to find information describing the 271 zone serving the network 2001:db8:1::/48: 273 /domain/1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa 275 The following path would be used to find information for the 276 example.com domain name: 278 /domain/example.com 280 The following path would be used to find information for the 281 xn--xemple-9ua.example IDN: 283 /domain/xn--xemple-9ua.example 285 3.1.4. Name Server Path Segment Specification 287 Syntax: nameserver/ 289 The parameter represents a fully qualified name as 290 specified in RFC 952 [RFC0952] and RFC 1123 [RFC1123]. 292 Internationalized names represented in either A-label or U-label 293 format [RFC5890] are also valid name server names. IDN labels SHOULD 294 NOT be represented as a mixture of A-labels and U-labels. 296 If the client sends the server an IDN in U-label format, servers that 297 support IDNs MUST convert the IDN into A-label format and perform 298 IDNA processing as specified in RFC 5891 [RFC5891]. The server 299 should perform an exact match lookup using the A-label. 301 The following path would be used to find information for the 302 ns1.example.com name server: 304 /nameserver/ns1.example.com 306 The following path would be used to find information for the 307 ns1.xn--xemple-9ua.example name server: 309 /nameserver/ns1.xn--xemple-9ua.example 311 3.1.5. Entity Path Segment Specification 313 Syntax: entity/ 315 The parameter represents an entity (such as a contact, 316 registrant, or registrar) identifier. For example, for some DNRs 317 contact identifiers are specified in RFC 5730 [RFC5730] and RFC 5733 318 [RFC5733]. 320 The following path would be used to find information for the entity 321 associated with handle CID-4005: 323 /entity/CID-4005 325 3.1.6. Help Path Segment Specification 327 Syntax: help 329 The help path segment can be used to request helpful information 330 (command syntax, terms of service, privacy policy, rate limiting 331 policy, supported authentication methods, supported extensions, 332 technical support contact, etc.) from an RDAP server. The response 333 to "help" should provide basic information that a client needs to 334 successfully use the service. The following path would be used to 335 return "help" information: 337 /help 339 3.2. Search Path Segment Specification 341 The resource type path segments for search are: 343 o 'domains': Used to identify a domain name information search using 344 a pattern to match a fully-qualified domain name. 345 o 'nameservers': Used to identify a name server information search 346 using a pattern to match a host name. 347 o 'entities': Used to identify an entity information search using a 348 pattern to match a string identifier. 350 RDAP search path segments are formed using a concatenation of the 351 plural form of the object being searched for, a forward slash 352 character ('/', ASCII value 0x002F), and an HTTP query string. The 353 HTTP query string is formed using a concatenation of the question 354 mark character ('?', ASCII value 0x003F), the JSON object value 355 associated with the object being searched for, the equal sign 356 character ('=', ASCII value 0x003D), and the search pattern. For the 357 domain and entity objects described in this document the plural 358 object forms are "domains" and "entities". 360 3.2.1. Domain Search 362 Syntax: domains?name= 364 Searches for domain information are of the form 366 /domains?name=XXXX 368 where XXXX is a search pattern representing a domain name in 369 "letters, digits, hyphen" format [RFC5890] in a zone administered by 370 the server operator of a DNR. The following path would be used to 371 find DNR information for domain names matching the "example*.com" 372 pattern: 374 /domains?name=example*.com 376 Internationalized Domain Names (IDNs) in U-label format [RFC5890] can 377 also be used as search patterns (see Section 4). Searches for these 378 names are of the form /domains?name=XXXX, where XXXX is a search 379 pattern representing a domain name in U-label format [RFC5890]. 381 3.2.2. Name Server Search 383 Syntax: nameservers?name= 385 Searches for name server information are of the form 386 /nameservers?name=XXXX 388 where XXXX is a search pattern representing a host name in "letters, 389 digits, hyphen" format [RFC5890] in a zone administered by the server 390 operator of a DNR. The following path would be used to find DNR 391 information for name server names matching the "ns1.example*.com" 392 pattern: 394 /nameservers?name=ns1.example*.com 396 Internationalized name server names in U-label format [RFC5890] can 397 also be used as search patterns (see Section 4). Searches for these 398 names are of the form /nameservers?name=XXXX, where XXXX is a search 399 pattern representing a name server name in U-label format [RFC5890]. 401 3.2.3. Entity Search 403 Syntax: entities?fn= 405 Syntax: entities?handle= 407 Searches for entity information by name are of the form 409 /entities?fn=XXXX 411 where XXXX is a search pattern representing an entity name as 412 specified in Section 6.1 of [I-D.ietf-weirds-json-response]. The 413 following path would be used to find information for entity names 414 matching the "Bobby Joe*" pattern. 416 /entities?fn=Bobby%20Joe* 418 Searches for entity information by handle are of the form 420 /entities?handle=XXXX 422 where XXXX is a search pattern representing an entity handle as 423 specified in Section 6.1 of [I-D.ietf-weirds-json-response]. The 424 following path would be used to find information for entity names 425 matching the "CID-40*" pattern. 427 /entities?handle=CID-40* 429 URLs MUST be properly encoded according to the rules of [RFC3986]. 430 In the example above, "Bobby Joe*" is encoded to "Bobby%20Joe*". 432 4. Search Processing 433 Partial string searching uses the asterisk ('*', ASCII value 0x002A) 434 character to match zero or more trailing characters. Additional 435 pattern matching processing is beyond the scope of this 436 specification. 438 If a server receives a search request but cannot process the request 439 because it does not support a particular style of partial match 440 searching, it SHOULD return an HTTP 422 [RFC4918] error. When 441 returning a 422 error, the server MAY also return an error response 442 body as specified in Section 7 of [I-D.ietf-weirds-json-response] if 443 the requested media type is one that is specified in 444 [I-D.ietf-weirds-using-http]. 446 Because Unicode characters may be combined with another Unicode 447 character or characters, partial matching is not feasible across 448 combinations of Unicode characters. Servers SHOULD NOT partially 449 match combinations of Unicode characters where a Unicode character 450 may be legally combined with another Unicode character or characters. 451 Clients should avoid submitting a partial match search of Unicode 452 characters where a Unicode character may be legally combined with 453 another Unicode character or characters. Partial match searches with 454 incomplete combinations of characters where a character must be 455 combined with another character or characters are invalid. Partial 456 match searches with characters that may be combined with another 457 character or characters are to be considered non-combined characters 458 (that is, if character x may be combined with character y but 459 character y is not submitted in the search string then character x is 460 a complete character and no combinations of character x are to be 461 searched). 463 Because Unicode characters may be combined with another Unicode 464 character or characters, partial matching requires that a server 465 maintain a list of valid character combinations to be considered a 466 match. When comparing DNS U-labels, servers SHOULD use the code 467 points specified in [RFC5892] to determine partial matches. When 468 comparing entity names, servers SHOULD use the normalization rules 469 and code points specified by [I-D.ietf-precis-nickname] to determine 470 partial matches. 472 5. Extensibility 474 This document describes path segment specifications for a limited 475 number of objects commonly registered in both RIRs and DNRs. It does 476 not attempt to describe path segments for all of the objects 477 registered in all registries. Custom path segments can be created 478 for objects not specified here using the process described in 479 Section 6 of "HTTP usage in the Registration Data Access Protocol 480 (RDAP)" [I-D.ietf-weirds-using-http]. 482 Custom path segments can be created by prefixing the segment with a 483 unique identifier followed by an underscore character (0x5F). For 484 example, a custom entity path segment could be created by prefixing 485 "entity" with "custom_", producing "custom_entity". Servers MUST 486 return an appropriate failure status code for a request with an 487 unrecognized path segment. 489 6. Internationalization Considerations 491 There is value in supporting the ability to submit either a U-label 492 (Unicode form of an IDN label) or an A-label (ASCII form of an IDN 493 label) as a query argument to an RDAP service. Clients capable of 494 processing non-ASCII characters may prefer a U-label since this is 495 more visually recognizable and familiar than A-label strings, but 496 clients using programmatic interfaces might find it easier to submit 497 and display A-labels if they are unable to input U-labels with their 498 keyboard configuration. Both query forms are acceptable. 500 Internationalized domain and name server names can contain character 501 variants and variant labels as described in RFC 4290 [RFC4290]. 502 Clients that support queries for internationalized domain and name 503 server names MUST accept service provider responses that describe 504 variants as specified in "JSON Responses for the Registration Data 505 Access Protocol" [I-D.ietf-weirds-json-response]. 507 7. IANA Considerations 509 This document does not specify any IANA actions. 511 8. Security Considerations 513 Security services for the operations specified in this document are 514 described in "Security Services for the Registration Data Access 515 Protocol" [I-D.ietf-weirds-rdap-sec]. 517 Search functionality typically requires more server resources (such 518 as memory, CPU cycles, and network bandwidth) when compared to basic 519 lookup functionality. This increases the risk of server resource 520 exhaustion and subsequent denial of service due to abuse. This risk 521 can be mitigated by developing and implementing controls to restrict 522 search functionality to identified and authorized clients. If those 523 clients behave badly, their search privileges can be suspended or 524 revoked. Rate limiting as described in Section 5.5 of "HTTP usage in 525 the Registration Data Access Protocol (RDAP)" 526 [I-D.ietf-weirds-using-http] can also be used to control the rate of 527 received search requests. Server operators can also reduce their 528 risk by restricting the amount of information returned in response to 529 a search request. 531 9. Acknowledgements 533 This document is derived from original work on RIR query formats 534 developed by Byron J. Ellacott of APNIC, Arturo L. Servin of LACNIC, 535 Kaveh Ranjbar of the RIPE NCC, and Andrew L. Newton of ARIN. 536 Additionally, this document incorporates DNR query formats originally 537 described by Francisco Arias and Steve Sheng of ICANN and Scott 538 Hollenbeck of Verisign. 540 The authors would like to acknowledge the following individuals for 541 their contributions to this document: Francisco Arias, Marc Blanchet, 542 Ernie Dainow, Jean-Philippe Dionne, Behnam Esfahbod, Edward Lewis, 543 and John Levine. 545 10. References 547 10.1. Normative References 549 [I-D.ietf-precis-nickname] 550 Saint-Andre, P., "Preparation and Comparison of 551 Nicknames", draft-ietf-precis-nickname-06 (work in 552 progress), July 2013. 554 [I-D.ietf-weirds-json-response] 555 Newton, A. and S. Hollenbeck, "JSON Responses for the 556 Registration Data Access Protocol (RDAP)", draft-ietf- 557 weirds-json-response-05 (work in progress), August 2013. 559 [I-D.ietf-weirds-rdap-sec] 560 Hollenbeck, S. and N. Kong, "Security Services for the 561 Registration Data Access Protocol", draft-ietf-weirds- 562 rdap-sec-05 (work in progress), August 2013. 564 [I-D.ietf-weirds-using-http] 565 Newton, A., Ellacott, B., and N. Kong, "HTTP usage in the 566 Registration Data Access Protocol (RDAP)", draft-ietf- 567 weirds-using-http-07 (work in progress), July 2013. 569 [RFC0952] Harrenstien, K., Stahl, M., and E. Feinler, "DoD Internet 570 host table specification", RFC 952, October 1985. 572 [RFC1123] Braden, R., "Requirements for Internet Hosts - Application 573 and Support", STD 3, RFC 1123, October 1989. 575 [RFC1166] Kirkpatrick, S., Stahl, M., and M. Recker, "Internet 576 numbers", RFC 1166, July 1990. 578 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 579 Requirement Levels", BCP 14, RFC 2119, March 1997. 581 [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., 582 Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext 583 Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. 585 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 586 Resource Identifier (URI): Generic Syntax", STD 66, RFC 587 3986, January 2005. 589 [RFC4290] Klensin, J., "Suggested Practices for Registration of 590 Internationalized Domain Names (IDN)", RFC 4290, December 591 2005. 593 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 594 Architecture", RFC 4291, February 2006. 596 [RFC4343] Eastlake, D., "Domain Name System (DNS) Case Insensitivity 597 Clarification", RFC 4343, January 2006. 599 [RFC4632] Fuller, V. and T. Li, "Classless Inter-domain Routing 600 (CIDR): The Internet Address Assignment and Aggregation 601 Plan", BCP 122, RFC 4632, August 2006. 603 [RFC4918] Dusseault, L., "HTTP Extensions for Web Distributed 604 Authoring and Versioning (WebDAV)", RFC 4918, June 2007. 606 [RFC5396] Huston, G. and G. Michaelson, "Textual Representation of 607 Autonomous System (AS) Numbers", RFC 5396, December 2008. 609 [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", 610 STD 69, RFC 5730, August 2009. 612 [RFC5733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) 613 Contact Mapping", STD 69, RFC 5733, August 2009. 615 [RFC5890] Klensin, J., "Internationalized Domain Names for 616 Applications (IDNA): Definitions and Document Framework", 617 RFC 5890, August 2010. 619 [RFC5891] Klensin, J., "Internationalized Domain Names in 620 Applications (IDNA): Protocol", RFC 5891, August 2010. 622 [RFC5892] Faltstrom, P., "The Unicode Code Points and 623 Internationalized Domain Names for Applications (IDNA)", 624 RFC 5892, August 2010. 626 [RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6 627 Address Text Representation", RFC 5952, August 2010. 629 10.2. Informative References 631 [REST] Fielding, R. and R. Taylor, "Principled Design of the 632 Modern Web Architecture", ACM Transactions on Internet 633 Technology Vol. 2, No. 2, May 2002. 635 [RFC3912] Daigle, L., "WHOIS Protocol Specification", RFC 3912, 636 September 2004. 638 [RFC4007] Deering, S., Haberman, B., Jinmei, T., Nordmark, E., and 639 B. Zill, "IPv6 Scoped Address Architecture", RFC 4007, 640 March 2005. 642 [RFC4627] Crockford, D., "The application/json Media Type for 643 JavaScript Object Notation (JSON)", RFC 4627, July 2006. 645 Appendix A. Change Log 647 Initial -00: Adopted as working group document. 648 -01: Added "Conventions Used in This Document" section. Added 649 normative reference to draft-ietf-weirds-rdap-sec and some 650 wrapping text in the Security Considerations section. 651 -02: Removed "unified" from the title. Rewrote the last paragraph 652 of section 2. Edited the first paragraph of section 3 to more 653 clearly note that only one path segement is provided. Added 654 "bitmask" to "length" in section 3.1. Changed "lowest IP network" 655 to "smallest IP network" in section 3.1. Added "asplain" to the 656 description of autonomous system numbers in section 3.2. Minor 657 change from "semantics is" to "semantics are" in section 3.2. 658 Changed the last sentence in section 4 to more clearly specify 659 error response behavior. Added acknowledgements. Added a 660 paragraph in the introduction regarding future IETF standards and 661 extensibility. 662 -03: Changed 'query' to 'lookup' in document title to better 663 describe the 'exact match lookup' purpose of this document. 664 Included a multitude of minor additions and clarifications 665 provided by Marc Blanchet and Jean-Philippe Dionne. Modified the 666 domain and name server sections to include support for IDN 667 U-labels. 668 -04: Updated the domain and name server sections to use .example IDN 669 U-labels. Added text to note that mixed IDN labels SHOULD NOT be 670 used. Fixed broken sentences in Section 6. 671 -05: Added "help" path segment. 672 -06: Added search text and removed or edited old search text. 674 -07: Fixed query parameter typo by replacing "/?" with "?". Changed 675 "asplain" to "AS Plain". Added entity search by handle. 676 Corrected section references. Updated IDN search text. 678 Authors' Addresses 680 Andrew Lee Newton 681 American Registry for Internet Numbers 682 3635 Concorde Parkway 683 Chantilly, VA 20151 684 US 686 Email: andy@arin.net 687 URI: http://www.arin.net 689 Scott Hollenbeck 690 Verisign Labs 691 12061 Bluemont Way 692 Reston, VA 20190 693 US 695 Email: shollenbeck@verisign.com 696 URI: http://www.verisignlabs.com/