1
2
3
4
5Internet Engineering Task Force (IETF) M. Blanchet
6Request for Comments: 9224 Viagenie
7STD: 95 March 2022
8Obsoletes: 7484
9Category: Standards Track
10ISSN: 2070-1721
11
12
13 Finding the Authoritative Registration Data Access Protocol (RDAP)
14 Service
15
16Abstract
17
18 This document specifies a method to find which Registration Data
19 Access Protocol (RDAP) server is authoritative to answer queries for
20 a requested scope, such as domain names, IP addresses, or Autonomous
21 System numbers. This document obsoletes RFC 7484.
22
23Status of This Memo
24
25 This is an Internet Standards Track document.
26
27 This document is a product of the Internet Engineering Task Force
28 (IETF). It represents the consensus of the IETF community. It has
29 received public review and has been approved for publication by the
30 Internet Engineering Steering Group (IESG). Further information on
31 Internet Standards is available in Section 2 of RFC 7841.
32
33 Information about the current status of this document, any errata,
34 and how to provide feedback on it may be obtained at
35 https://www.rfc-editor.org/info/rfc9224.
36
37Copyright Notice
38
39 Copyright (c) 2022 IETF Trust and the persons identified as the
40 document authors. All rights reserved.
41
42 This document is subject to BCP 78 and the IETF Trust's Legal
43 Provisions Relating to IETF Documents
44 (https://trustee.ietf.org/license-info) in effect on the date of
45 publication of this document. Please review these documents
46 carefully, as they describe your rights and restrictions with respect
47 to this document. Code Components extracted from this document must
48 include Revised BSD License text as described in Section 4.e of the
49 Trust Legal Provisions and are provided without warranty as described
50 in the Revised BSD License.
51
52Table of Contents
53
54 1. Introduction
55 2. Conventions Used in This Document
56 3. Structure of the RDAP Bootstrap Service Registries
57 4. Bootstrap Service Registry for Domain Name Space
58 5. Bootstrap Service Registries for Internet Numbers
59 5.1. Bootstrap Service Registry for IPv4 Address Space
60 5.2. Bootstrap Service Registry for IPv6 Address Space
61 5.3. Bootstrap Service Registry for AS Number Space
62 6. Entity
63 7. Non-existent Entries or RDAP URL Values
64 8. Deployment and Implementation Considerations
65 9. Limitations
66 10. Formal Definition
67 10.1. Imported JSON Terms
68 10.2. Registry Syntax
69 11. Security Considerations
70 12. IANA Considerations
71 12.1. Bootstrap Service Registry for IPv4 Address Space
72 12.2. Bootstrap Service Registry for IPv6 Address Space
73 12.3. Bootstrap Service Registry for AS Number Space
74 12.4. Bootstrap Service Registry for Domain Name Space
75 13. References
76 13.1. Normative References
77 13.2. Informative References
78 Appendix A. Changes since RFC 7484
79 Acknowledgements
80 Author's Address
81
821. Introduction
83
84 Querying and retrieving registration data from registries are defined
85 in the Registration Data Access Protocol (RDAP) [RFC7480] [RFC7481]
86 [RFC9082] [RFC9083]. These documents do not specify where to send
87 the queries. This document specifies a method to find which server
88 is authoritative to answer queries for the requested scope.
89
90 Top-Level Domains (TLDs), Autonomous System (AS) numbers, and network
91 blocks are delegated by IANA to Internet registries such as TLD
92 registries and Regional Internet Registries (RIRs) that then issue
93 further delegations and maintain information about them. Thus, the
94 bootstrap information needed by RDAP clients is best generated from
95 data and processes already maintained by IANA; the relevant
96 registries already exist at [ipv4reg], [ipv6reg], [asreg], and
97 [domainreg]. This document obsoletes [RFC7484].
98
99 Per this document, IANA has created new registries based on a JSON
100 format specified in this document, herein named RDAP Bootstrap
101 Service Registries. These new registries are based on the existing
102 entries of the above-mentioned registries. An RDAP client fetches
103 the RDAP Bootstrap Service Registries, extracts the data, and then
104 performs a match with the query data to find the authoritative
105 registration data server and appropriate query base URL.
106
1072. Conventions Used in This Document
108
109 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
110 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
111 "OPTIONAL" in this document are to be interpreted as described in
112 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
113 capitals, as shown here.
114
1153. Structure of the RDAP Bootstrap Service Registries ../rdap/rdap.go:24
116
117 The RDAP Bootstrap Service Registries, as specified in Section 12
118 below, have been made available as JSON [RFC8259] objects, which can
119 be retrieved via HTTP from locations specified by IANA. The JSON
120 object for each registry contains a series of members containing
121 metadata about the registry such as a version identifier, a timestamp
122 of the publication date of the registry, and a description.
123 Additionally, a "services" member contains the registry items
124 themselves, as an array. Each item of the array contains a second-
125 level array, with two elements, each of them being a third-level
126 array.
127
128 Each element of the Services Array is a second-level array with two
129 elements: in order, an Entry Array and a Service URL Array.
130
131 The Entry Array contains all entries that have the same set of base
132 RDAP URLs. The Service URL Array contains the list of base RDAP URLs
133 usable for the entries found in the Entry Array. Elements within
134 these two arrays are not ordered in any way.
135
136 An example structure of the JSON output of an RDAP Bootstrap Service
137 Registry is illustrated:
138
139 {
140 "version": "1.0",
141 "publication": "YYYY-MM-DDTHH:MM:SSZ",
142 "description": "Some text",
143 "services": [
144 [
145 ["entry1", "entry2", "entry3"],
146 [
147 "https://registry.example.com/myrdap/",
148 "http://registry.example.com/myrdap/"
149 ]
150 ],
151 [
152 ["entry4"],
153 [
154 "https://example.org/"
155 ]
156 ]
157 ]
158 }
159
160 The formal syntax is described in Section 10.
161
162 The "version" corresponds to the format version of the registry.
163 This specification defines version "1.0".
164
165 The syntax of the "publication" value conforms to the Internet date/
166 time format [RFC3339]. The value is the latest update date of the
167 registry by IANA.
168
169 The optional "description" string can contain a comment regarding the
170 content of the bootstrap object.
171
172 Per [RFC7258], in each array of base RDAP URLs, the secure versions ../rdap/rdap.go:90
173 of the transport protocol SHOULD be preferred and tried first. For
174 example, if the base RDAP URLs array contains both HTTPS and HTTP
175 URLs, the bootstrap client SHOULD try the HTTPS version first.
176
177 Base RDAP URLs MUST have a trailing "/" character because they are ../rdap/rdap.go:131
178 concatenated to the various segments defined in [RFC9082].
179
180 JSON names MUST follow the format recommendations of Section 6 of
181 [RFC7480]. Any unrecognized JSON object properties or values MUST be
182 ignored by implementations.
183
184 Internationalized Domain Name labels used as entries or base RDAP ../rdap/rdap.go:72
185 URLs in the registries defined in this document MUST be only
186 represented using their A-label form as defined in [RFC5890].
187
188 All Domain Name labels used as entries or base RDAP URLs in the ../rdap/rdap.go:73
189 registries defined in this document MUST be only represented in
190 lowercase.
191
1924. Bootstrap Service Registry for Domain Name Space ../rdap/rdap.go:27
193
194 The JSON output of this registry contains domain label entries
195 attached to the root, grouped by base RDAP URLs, as shown in this
196 example.
197
198 {
199 "version": "1.0",
200 "publication": "2024-01-07T10:11:12Z",
201 "description": "Some text",
202 "services": [
203 [
204 ["net", "com"],
205 [
206 "https://registry.example.com/myrdap/"
207 ]
208 ],
209 [
210 ["org", "mytld"],
211 [
212 "https://example.org/"
213 ]
214 ],
215 [
216 ["xn--zckzah"],
217 [
218 "https://example.net/rdap/xn--zckzah/",
219 "http://example.net/rdap/xn--zckzah/"
220 ]
221 ]
222 ]
223 }
224
225 The domain name's authoritative registration data service is found by ../rdap/rdap.go:78
226 doing the label-wise longest match of the target domain name with the
227 domain values in the Entry Arrays in the IANA "Bootstrap Service
228 Registry for Domain Name Space". The match is done per label, from
229 right to left. If the longest match results in multiple entries,
230 then those entries are considered equivalent. The values contained
231 in the Service URL Array of the matching second-level array are the
232 valid base RDAP URLs as described in [RFC9082].
233
234 For example, a domain RDAP query for a.b.example.com matches the com
235 entry in one of the arrays of the registry. The base RDAP URL for
236 this query is then taken from the second element of the array, which
237 is an array of base RDAP URLs valid for this entry. The client
238 chooses one of the base URLs from this array; in this example, it
239 chooses the only one available, "https://registry.example.com/
240 myrdap/". The segment specified in [RFC9082] is then appended to the
241 base URL to complete the query. The complete query is then
242 "https://registry.example.com/myrdap/domain/a.b.example.com".
243
244 If a domain RDAP query for a.b.example.com matches both com and
245 example.com entries in the registry, then the longest match applies
246 and the example.com entry is used by the client.
247
248 If the registry contains entries such as com and goodexample.com,
249 then a domain RDAP query for example.com only matches the com entry
250 because matching is done on a per-label basis.
251
252 The entry for the root of the domain name space is specified as "".
253
2545. Bootstrap Service Registries for Internet Numbers
255
256 This section discusses IPv4 and IPv6 address space and Autonomous
257 System numbers.
258
259 For IP address space, the authoritative registration data service is
260 found by doing a longest match of the target address with the values
261 of the arrays in the corresponding RDAP Bootstrap Service Registry
262 for Address Space. The longest match is done the same way as in
263 packet forwarding: the addresses are converted in binary form and
264 then the binary strings are compared to find the longest match up to
265 the specified prefix length. The values contained in the second
266 element of the array are the base RDAP URLs as described in
267 [RFC9082]. The longest match method enables covering prefixes of a
268 larger address space pointing to one base RDAP URL while more
269 specific prefixes within the covering prefix are being served by
270 another base RDAP URL.
271
2725.1. Bootstrap Service Registry for IPv4 Address Space
273
274 The JSON output of this registry contains IPv4 prefix entries,
275 specified in Classless Inter-domain Routing (CIDR) format [RFC4632]
276 and grouped by RDAP URLs, as shown in this example.
277
278 {
279 "version": "1.0",
280 "publication": "2024-01-07T10:11:12Z",
281 "description": "RDAP Bootstrap file for example registries.",
282 "services": [
283 [
284 ["198.51.100.0/24", "192.0.0.0/8"],
285 [
286 "https://rir1.example.com/myrdap/"
287 ]
288 ],
289 [
290 ["203.0.113.0/24", "192.0.2.0/24"],
291 [
292 "https://example.org/"
293 ]
294 ],
295 [
296 ["203.0.113.0/28"],
297 [
298 "https://example.net/rdaprir2/",
299 "http://example.net/rdaprir2/"
300 ]
301 ]
302 ]
303 }
304
305 For example, a query for "192.0.2.1/25" matches the "192.0.0.0/8"
306 entry and the "192.0.2.0/24" entry in the example registry above.
307 The latter is chosen by the client because it is the longest match.
308 The base RDAP URL for this query is then taken from the second
309 element of the array, which is an array of base RDAP URLs valid for
310 this entry. The client chooses one of the base URLs from this array;
311 in this example, it chooses the only one available,
312 "https://example.org/". The {resource} specified in [RFC9082] is
313 then appended to the base URL to complete the query. The complete
314 query is then "https://example.org/ip/192.0.2.1/25".
315
3165.2. Bootstrap Service Registry for IPv6 Address Space
317
318 The JSON output of this registry contains IPv6 prefix entries, using
319 [RFC5952] text representation of the address prefixes format, grouped
320 by base RDAP URLs, as shown in this example.
321
322 {
323 "version": "1.0",
324 "publication": "2024-01-07T10:11:12Z",
325 "description": "RDAP Bootstrap file for example registries.",
326 "services": [
327 [
328 ["2001:db8::/34"],
329 [
330 "https://rir2.example.com/myrdap/"
331 ]
332 ],
333 [
334 ["2001:db8:4000::/36", "2001:db8:ffff::/48"],
335 [
336 "https://example.org/"
337 ]
338 ],
339 [
340 ["2001:db8:1000::/36"],
341 [
342 "https://example.net/rdaprir2/",
343 "http://example.net/rdaprir2/"
344 ]
345 ]
346 ]
347 }
348
349 For example, a query for "2001:db8:1000::/48" matches the
350 "2001:db8::/34" entry and the "2001:db8:1000::/36" entry in the
351 example registry above. The latter is chosen by the client because
352 it is the longest match. The base RDAP URL for this query is then
353 taken from the second element of the array, which is an array of base
354 RDAP URLs valid for this entry. The client chooses one of the base
355 URLs from this array; in this example, it chooses
356 "https://example.net/rdaprir2/" because it's the secure version of
357 the protocol. The segment specified in [RFC9082] is then appended to
358 the base URL to complete the query. The complete query is therefore
359 "https://example.net/rdaprir2/ip/2001:db8:1000::/48". If the target
360 RDAP server does not answer, the client can then use another URL
361 prefix from the array.
362
3635.3. Bootstrap Service Registry for AS Number Space
364
365 The JSON output of this registry contains entries for AS number
366 ranges, grouped by base RDAP URLs, as shown in this example. The
367 Entry Array is an array containing the list of AS number ranges
368 served by the base RDAP URLs found in the second element. Each
369 element of the array contains two AS numbers represented in decimal
370 format, separated by a hyphen, that represents the range of AS
371 numbers between the two AS numbers (inclusive), where values are in
372 increasing order (e.g., 100-200, not 200-100). A single AS number is
373 represented as a range of two identical AS numbers. AS numbers are
374 represented as 'asplain' as defined in [RFC5396]. Ranges MUST NOT
375 overlap.
376
377 {
378 "version": "1.0",
379 "publication": "2024-01-07T10:11:12Z",
380 "description": "RDAP Bootstrap file for example registries.",
381 "services": [
382 [
383 ["64496-64496"],
384 [
385 "https://rir3.example.com/myrdap/"
386 ]
387 ],
388 [
389 ["64497-64510", "65536-65551"],
390 [
391 "https://example.org/"
392 ]
393 ],
394 [
395 ["64512-65534"],
396 [
397 "http://example.net/rdaprir2/",
398 "https://example.net/rdaprir2/"
399 ]
400 ]
401 ]
402 }
403
404 For example, a query for AS 65411 matches the 64512-65534 entry in
405 the example registry above. The base RDAP URL for this query is then
406 taken from the second element of the array, which is an array of base
407 RDAP URLs valid for this entry. The client chooses one of the base
408 URLs from this array; in this example, it chooses
409 "https://example.net/rdaprir2/". The segment specified in [RFC9082]
410 is then appended to the base URL to complete the query. The complete
411 query is, therefore, "https://example.net/rdaprir2/autnum/65411". If
412 the server does not answer, the client can then use another URL
413 prefix from the array.
414
4156. Entity
416
417 Entities (such as contacts, registrants, or registrars) can be
418 queried by handle as described in [RFC9082]. Since there is no
419 global name space for entities, this document does not describe how
420 to find the authoritative RDAP server for entities. However, it is
421 possible that, if the entity identifier was received from a previous
422 query, the same RDAP server could be queried for that entity, or the
423 entity identifier itself is a fully qualified URL that can be
424 queried. The mechanism described in [RFC8521] MAY also be used.
425
4267. Non-existent Entries or RDAP URL Values
427
428 The registries may not contain the requested value. In these cases, ../rdap/rdap.go:86
429 there is no known RDAP server for that requested value, and the
430 client SHOULD provide an appropriate error message to the user.
431
4328. Deployment and Implementation Considerations
433
434 This method relies on the fact that RDAP clients are fetching the ../rdap/rdap.go:47
435 IANA registries to then find the servers locally. Clients SHOULD NOT
436 fetch the registry on every RDAP request. Clients SHOULD cache the
437 registry, but use underlying protocol signaling, such as the HTTP
438 Expires header field [RFC7234], to identify when it is time to
439 refresh the cached registry.
440
441 Some authorities of registration data may work together on sharing
442 their information for a common service, including mutual redirection
443 [REDIRECT-RDAP].
444
445 When a new object is allocated, such as a new AS range, a new TLD, or
446 a new IP address range, there is no guarantee that this new object
447 will have an entry in the corresponding bootstrap RDAP registry,
448 since the setup of the RDAP server for this new entry may become live
449 and registered later. Therefore, the clients should expect that even
450 if an object, such as TLD, IP address range, or AS range is
451 allocated, the existence of the entry in the corresponding bootstrap
452 registry is not guaranteed.
453
4549. Limitations
455
456 This method does not provide a direct way to find authoritative RDAP
457 servers for any other objects than the ones described in this
458 document. In particular, the following objects are not bootstrapped
459 with the method described in this document:
460
461 * entities
462
463 * queries using search patterns that do not contain a terminating
464 string that matches some entries in the registries
465
466 * nameservers
467
468 * help
469
47010. Formal Definition
471
472 This section is the formal definition of the registries. The
473 structure of JSON objects and arrays using a set of primitive
474 elements is defined in [RFC8259]. Those elements are used to
475 describe the JSON structure of the registries.
476
47710.1. Imported JSON Terms
478
479 OBJECT: a JSON object, defined in Section 4 of [RFC8259]
480
481 MEMBER: a member of a JSON object, defined in Section 4 of [RFC8259]
482
483 MEMBER-NAME: the name of a MEMBER, defined as a "string" in
484 Section 4 of [RFC8259]
485
486 MEMBER-VALUE: the value of a MEMBER, defined as a "value" in
487 Section 4 of [RFC8259]
488
489 ARRAY: an array, defined in Section 5 of [RFC8259]
490
491 ARRAY-VALUE: an element of an ARRAY, defined in Section 5 of
492 [RFC8259]
493
494 STRING: a "string", as defined in Section 7 of [RFC8259]
495
49610.2. Registry Syntax
497
498 Using the above terms for the JSON structures, the syntax of a
499 registry is defined as follows:
500
501 rdap-bootstrap-registry: an OBJECT containing a MEMBER version and a
502 MEMBER publication, an optional MEMBER description, and a MEMBER
503 services-list
504
505 version: a MEMBER with MEMBER-NAME "version" and MEMBER-VALUE a
506 STRING
507
508 publication: a MEMBER with MEMBER-NAME "publication" and MEMBER-
509 VALUE a STRING
510
511 description: a MEMBER with MEMBER-NAME "description" and MEMBER-
512 VALUE a STRING
513
514 services-list: a MEMBER with MEMBER-NAME "services" and MEMBER-VALUE
515 a services-array
516
517 services-array: an ARRAY, where each ARRAY-VALUE is a service
518
519 service: an ARRAY of 2 elements, where the first ARRAY-VALUE is an
520 entry-list and the second ARRAY-VALUE is a service-uri-list
521
522 entry-list: an ARRAY, where each ARRAY-VALUE is an entry
523
524 entry: a STRING
525
526 service-uri-list: an ARRAY, where each ARRAY-VALUE is a service-uri
527
528 service-uri: a STRING
529
53011. Security Considerations
531
532 By providing a bootstrap method to find RDAP servers, this document
533 helps to ensure that the end users will get the RDAP data from an
534 authoritative source instead of from rogue sources. The method has
535 the same security properties as the RDAP protocols themselves. The
536 transport used to access the registries uses TLS [RFC8446].
537
538 Additional considerations on using RDAP are described in [RFC7481].
539
54012. IANA Considerations
541
542 IANA has created the RDAP Bootstrap Services Registries listed below
543 and made them available as JSON objects. The contents of these
544 registries are described in Sections 3, 4, and 5, with the formal
545 syntax specified in Section 10. The registries MUST be accessible
546 only through HTTPS (TLS [RFC8446]) transport.
547
548 The process for adding or updating entries in these registries
549 differs from the normal IANA registry processes: these registries are
550 generated from the data, processes, and policies maintained by IANA
551 in their allocation registries ([ipv4reg], [ipv6reg], [asreg], and
552 [domainreg]), with the addition of new RDAP server information.
553
554 IANA updates RDAP Bootstrap Services Registries entries from the
555 allocation registries as those registries are updated.
556
557 This document does not change any policies related to the allocation
558 registries; IANA has provided a mechanism for collecting the RDAP
559 server information.
560
561 IANA has created a new top-level category on the Protocol Registries
562 page: <https://www.iana.org/protocols>. The group is called
563 "Registration Data Access Protocol (RDAP)". Each of the RDAP
564 Bootstrap Services Registries has been made available for on-demand
565 download in the JSON format by the general public, and that
566 registry's URI is listed directly on the Protocol Registries page.
567
568 Other normal registries will be added to this group by other
569 documents, but the reason the URIs for these registries are clearly
570 listed on the main page is to make those URIs obvious to implementers
571 -- these are registries that will be accessed by software, as well as
572 by humans using them for reference information.
573
574 Because these registries will be accessed by software, the download
575 demand for the RDAP Bootstrap Services Registries may be unusually
576 high compared to normal IANA registries. The technical
577 infrastructure by which registries are published has been put in
578 place by IANA to support the load. Since the publication of
579 [RFC7484], no issues have been reported regarding the load or the
580 service.
581
582 As discussed in Section 8, software that accesses these registries
583 will depend on the HTTP Expires header field to limit their query
584 rate. It is, therefore, important for that header field to be
585 properly set to provide timely information as the registries change,
586 while maintaining a reasonable load on the IANA servers.
587
588 The HTTP Content-Type returned to clients accessing these JSON- ../rdap/rdap.go:54
589 formatted registries MUST be "application/json", as defined in
590 [RFC8259].
591
592 Because of how information in the RDAP Bootstrap Services Registries
593 is grouped and formatted, the registry entries may not be sortable.
594 It is, therefore, not required or expected that the entries be
595 ordered in any way.
596
59712.1. Bootstrap Service Registry for IPv4 Address Space
598
599 Entries in this registry contain at least the following:
600
601 * a CIDR [RFC4632] specification of the network block being
602 registered
603
604 * one or more URLs that provide the RDAP service regarding this
605 registration
606
60712.2. Bootstrap Service Registry for IPv6 Address Space
608
609 Entries in this registry contain at least the following:
610
611 * an IPv6 prefix [RFC5952] specification of the network block being
612 registered
613
614 * one or more URLs that provide the RDAP service regarding this
615 registration
616
61712.3. Bootstrap Service Registry for AS Number Space
618
619 Entries in this registry contain at least the following:
620
621 * a range of Autonomous System numbers being registered
622
623 * one or more URLs that provide the RDAP service regarding this
624 registration
625
62612.4. Bootstrap Service Registry for Domain Name Space
627
628 Entries in this registry contain at least the following:
629
630 * a domain name attached to the root being registered
631
632 * one or more URLs that provide the RDAP service regarding this
633 registration
634
63513. References
636
63713.1. Normative References
638
639 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
640 Requirement Levels", BCP 14, RFC 2119,
641 DOI 10.17487/RFC2119, March 1997,
642 <https://www.rfc-editor.org/info/rfc2119>.
643
644 [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet:
645 Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002,
646 <https://www.rfc-editor.org/info/rfc3339>.
647
648 [RFC4632] Fuller, V. and T. Li, "Classless Inter-domain Routing
649 (CIDR): The Internet Address Assignment and Aggregation
650 Plan", BCP 122, RFC 4632, DOI 10.17487/RFC4632, August
651 2006, <https://www.rfc-editor.org/info/rfc4632>.
652
653 [RFC5396] Huston, G. and G. Michaelson, "Textual Representation of
654 Autonomous System (AS) Numbers", RFC 5396,
655 DOI 10.17487/RFC5396, December 2008,
656 <https://www.rfc-editor.org/info/rfc5396>.
657
658 [RFC5890] Klensin, J., "Internationalized Domain Names for
659 Applications (IDNA): Definitions and Document Framework",
660 RFC 5890, DOI 10.17487/RFC5890, August 2010,
661 <https://www.rfc-editor.org/info/rfc5890>.
662
663 [RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6
664 Address Text Representation", RFC 5952,
665 DOI 10.17487/RFC5952, August 2010,
666 <https://www.rfc-editor.org/info/rfc5952>.
667
668 [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an
669 Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May
670 2014, <https://www.rfc-editor.org/info/rfc7258>.
671
672 [RFC7480] Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the
673 Registration Data Access Protocol (RDAP)", STD 95,
674 RFC 7480, DOI 10.17487/RFC7480, March 2015,
675 <https://www.rfc-editor.org/info/rfc7480>.
676
677 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
678 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
679 May 2017, <https://www.rfc-editor.org/info/rfc8174>.
680
681 [RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
682 Interchange Format", STD 90, RFC 8259,
683 DOI 10.17487/RFC8259, December 2017,
684 <https://www.rfc-editor.org/info/rfc8259>.
685
68613.2. Informative References
687
688 [asreg] IANA, "Autonomous System (AS) Numbers",
689 <https://www.iana.org/assignments/as-numbers>.
690
691 [domainreg]
692 IANA, "Root Zone Database",
693 <https://www.iana.org/domains/root/db>.
694
695 [ipv4reg] IANA, "IANA IPv4 Address Space Registry",
696 <https://www.iana.org/assignments/ipv4-address-space>.
697
698 [ipv6reg] IANA, "IPv6 Global Unicast Address Assignments",
699 <https://www.iana.org/assignments/ipv6-unicast-address-
700 assignments>.
701
702 [REDIRECT-RDAP]
703 Martinez, C.M., Ed., Zhou, L., Ed., and G. Rada,
704 "Redirection Service for Registration Data Access
705 Protocol", Work in Progress, Internet-Draft, draft-ietf-
706 weirds-redirects-04, July 2014,
707 <https://datatracker.ietf.org/doc/html/draft-ietf-weirds-
708 redirects-04>.
709
710 [RFC7071] Borenstein, N. and M. Kucherawy, "A Media Type for
711 Reputation Interchange", RFC 7071, DOI 10.17487/RFC7071,
712 November 2013, <https://www.rfc-editor.org/info/rfc7071>.
713
714 [RFC7234] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,
715 Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching",
716 RFC 7234, DOI 10.17487/RFC7234, June 2014,
717 <https://www.rfc-editor.org/info/rfc7234>.
718
719 [RFC7481] Hollenbeck, S. and N. Kong, "Security Services for the
720 Registration Data Access Protocol (RDAP)", STD 95,
721 RFC 7481, DOI 10.17487/RFC7481, March 2015,
722 <https://www.rfc-editor.org/info/rfc7481>.
723
724 [RFC7484] Blanchet, M., "Finding the Authoritative Registration Data
725 (RDAP) Service", RFC 7484, DOI 10.17487/RFC7484, March
726 2015, <https://www.rfc-editor.org/info/rfc7484>.
727
728 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
729 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
730 <https://www.rfc-editor.org/info/rfc8446>.
731
732 [RFC8521] Hollenbeck, S. and A. Newton, "Registration Data Access
733 Protocol (RDAP) Object Tagging", BCP 221, RFC 8521,
734 DOI 10.17487/RFC8521, November 2018,
735 <https://www.rfc-editor.org/info/rfc8521>.
736
737 [RFC9082] Hollenbeck, S. and A. Newton, "Registration Data Access
738 Protocol (RDAP) Query Format", STD 95, RFC 9082,
739 DOI 10.17487/RFC9082, June 2021,
740 <https://www.rfc-editor.org/info/rfc9082>.
741
742 [RFC9083] Hollenbeck, S. and A. Newton, "JSON Responses for the
743 Registration Data Access Protocol (RDAP)", STD 95,
744 RFC 9083, DOI 10.17487/RFC9083, June 2021,
745 <https://www.rfc-editor.org/info/rfc9083>.
746
747Appendix A. Changes since RFC 7484
748
749 There are no substantive changes except for minor clarifications.
750 This update is primarily to meet the requirements for moving to an
751 Internet Standard.
752
753Acknowledgements
754
755 The WEIRDS Working Group had multiple discussions on this topic,
756 including a session during IETF 84, where various methods such as in-
757 DNS and others were debated. The idea of using IANA registries was
758 discovered by the author during discussions with his colleagues as
759 well as by a comment from Andy Newton. All the people involved in
760 these discussions are herein acknowledged. Linlin Zhou, Jean-
761 Philippe Dionne, John Levine, Kim Davies, Ernie Dainow, Scott
762 Hollenbeck, Arturo Servin, Andy Newton, Murray Kucherawy, Tom
763 Harrison, Naoki Kambe, Alexander Mayrhofer, Edward Lewis, Pete
764 Resnick, Alessandro Vesely, Bert Greevenbosch, Barry Leiba, Jari
765 Arkko, Kathleen Moriaty, Stephen Farrell, Richard Barnes, and Jean-
766 Francois Tremblay provided input and suggestions to the first version
767 of this document.
768
769 Guillaume Leclanche was a coauthor of this document for some
770 revisions; his support is therein acknowledged and greatly
771 appreciated. The section on formal definition was inspired by
772 Section 6.2 of [RFC7071]. This new version [This document] received
773 comments and suggestions from Gavin Brown, Patrick Mevzek, John
774 Levine, Jasdip Singh, George Michaelson, Scott Hollenbeck, Russ
775 Housley, Joel Halpern, Lars Eggert, Benjamin Kaduk, Scott Kelly, Éric
776 Vyncke, John Scudder, Erik Kline, and Robert Wilton. Errata for RFC
777 7484 were submitted by Pieter Vandepitte and were applied to this
778 document.
779
780Author's Address
781
782 Marc Blanchet
783 Viagenie
784 246 Aberdeen
785 Quebec QC G1R 2E1
786 Canada
787 Email: Marc.Blanchet@viagenie.ca
788 URI: https://viagenie.ca
789