draft-ietf-regext-rfc7483bis-01.txt | draft-ietf-regext-rfc7483bis-02.txt | |||
---|---|---|---|---|
REGEXT Working Group S. Hollenbeck | REGEXT Working Group S. Hollenbeck | |||
Internet-Draft Verisign Labs | Internet-Draft Verisign Labs | |||
Intended status: Standards Track A. Newton | Intended status: Standards Track A. Newton | |||
Expires: 1 January 2021 AWS | Expires: 18 March 2021 AWS | |||
30 June 2020 | 14 September 2020 | |||
JSON Responses for the Registration Data Access Protocol (RDAP) | JSON Responses for the Registration Data Access Protocol (RDAP) | |||
draft-ietf-regext-rfc7483bis-01 | draft-ietf-regext-rfc7483bis-02 | |||
Abstract | Abstract | |||
This document describes JSON data structures representing | This document describes JSON data structures representing | |||
registration information maintained by Regional Internet Registries | registration information maintained by Regional Internet Registries | |||
(RIRs) and Domain Name Registries (DNRs). These data structures are | (RIRs) and Domain Name Registries (DNRs). These data structures are | |||
used to form Registration Data Access Protocol (RDAP) query | used to form Registration Data Access Protocol (RDAP) query | |||
responses. | responses. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 35 ¶ | skipping to change at page 1, line 35 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on 1 January 2021. | This Internet-Draft will expire on 18 March 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 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 (https://trustee.ietf.org/ | |||
license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
skipping to change at page 3, line 17 ¶ | skipping to change at page 3, line 17 ¶ | |||
15.1. Normative References . . . . . . . . . . . . . . . . . . 70 | 15.1. Normative References . . . . . . . . . . . . . . . . . . 70 | |||
15.2. Informative References . . . . . . . . . . . . . . . . . 72 | 15.2. Informative References . . . . . . . . . . . . . . . . . 72 | |||
Appendix A. Suggested Data Modeling with the Entity Object | Appendix A. Suggested Data Modeling with the Entity Object | |||
Class . . . . . . . . . . . . . . . . . . . . . . . . . . 73 | Class . . . . . . . . . . . . . . . . . . . . . . . . . . 73 | |||
A.1. Registrants and Contacts . . . . . . . . . . . . . . . . 73 | A.1. Registrants and Contacts . . . . . . . . . . . . . . . . 73 | |||
A.2. Registrars . . . . . . . . . . . . . . . . . . . . . . . 75 | A.2. Registrars . . . . . . . . . . . . . . . . . . . . . . . 75 | |||
Appendix B. Modeling Events . . . . . . . . . . . . . . . . . . 77 | Appendix B. Modeling Events . . . . . . . . . . . . . . . . . . 77 | |||
Appendix C. Structured vs. Unstructured Addresses . . . . . . . 79 | Appendix C. Structured vs. Unstructured Addresses . . . . . . . 79 | |||
Appendix D. Secure DNS . . . . . . . . . . . . . . . . . . . . . 81 | Appendix D. Secure DNS . . . . . . . . . . . . . . . . . . . . . 81 | |||
Appendix E. Motivations for Using JSON . . . . . . . . . . . . . 82 | Appendix E. Motivations for Using JSON . . . . . . . . . . . . . 82 | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 82 | Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 82 | |||
Changes from RFC 7483 . . . . . . . . . . . . . . . . . . . . . . 83 | Changes from RFC 7483 . . . . . . . . . . . . . . . . . . . . . . 83 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 84 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 85 | |||
1. Introduction | 1. Introduction | |||
This document describes responses in the JSON [RFC8259] format for | This document describes responses in the JSON [RFC8259] format for | |||
the queries as defined by the Registration Data Access Protocol Query | the queries as defined by the Registration Data Access Protocol Query | |||
Format [I-D.ietf-regext-rfc7482bis]. A communication protocol for | Format [I-D.ietf-regext-rfc7482bis]. A communication protocol for | |||
exchanging queries and responses is described in [RFC7480]. | exchanging queries and responses is described in [RFC7480]. | |||
1.1. Terminology and Definitions | 1.1. Terminology and Definitions | |||
skipping to change at page 9, line 50 ¶ | skipping to change at page 9, line 50 ¶ | |||
"media" : "screen", | "media" : "screen", | |||
"type" : "application/json" | "type" : "application/json" | |||
} | } | |||
Figure 5 | Figure 5 | |||
The JSON name/values of "rel", "href", "hreflang", "title", "media", | The JSON name/values of "rel", "href", "hreflang", "title", "media", | |||
and "type" correspond to values found in Section 3 of [RFC8288]. The | and "type" correspond to values found in Section 3 of [RFC8288]. The | |||
"value" JSON value is the context URI as described by [RFC8288]. The | "value" JSON value is the context URI as described by [RFC8288]. The | |||
"value", "rel" and "href" JSON values MUST be specified. All other | "value", "rel" and "href" JSON values MUST be specified. All other | |||
JSON values are OPTIONAL. | JSON values are OPTIONAL. A "related" link relation MUST NOT include | |||
an "href" URI that is the same as the "self" link relation "href" URI | ||||
to reduce the risk of infinite client processing loops. | ||||
Internationalized Domain Names (IDNs) returned in URIs SHOULD be | ||||
consistently returned in LDH name format to allow clients to process | ||||
these IDNs according to their capabilities. | ||||
This is an example of the "links" array as it might be found in an | This is an example of the "links" array as it might be found in an | |||
object class: | object class: | |||
"links" : | "links" : | |||
[ | [ | |||
{ | { | |||
"value" : "https://example.com/ip/2001:db8::123", | "value" : "https://example.com/ip/2001:db8::123", | |||
"rel" : "self", | "rel" : "self", | |||
"href" : "https://example.com/ip/2001:db8::123", | "href" : "https://example.com/ip/2001:db8::123", | |||
skipping to change at page 52, line 4 ¶ | skipping to change at page 51, line 50 ¶ | |||
"href" : "https://www.example.com/data_policy.html" | "href" : "https://www.example.com/data_policy.html" | |||
} | } | |||
] | ] | |||
} | } | |||
] | ] | |||
} | } | |||
Figure 33 | Figure 33 | |||
10. IANA Considerations | 10. IANA Considerations | |||
IANA is requested to update the description of the "transfer" event | ||||
action as described in Section 10.2.3. | ||||
10.1. RDAP JSON Media Type Registration | 10.1. RDAP JSON Media Type Registration | |||
This specification registers the "application/rdap+json" media | This specification registers the "application/rdap+json" media | |||
type. | type. | |||
Type name: application | Type name: application | |||
Subtype name: rdap+json | Subtype name: rdap+json | |||
Required parameters: n/a | Required parameters: n/a | |||
skipping to change at page 62, line 16 ¶ | skipping to change at page 62, line 16 ¶ | |||
Registrant Name: IESG | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | Registrant Contact Information: iesg@ietf.org | |||
* Value: transfer | * Value: transfer | |||
Type: event action | Type: event action | |||
Description: The object instance was transferred from one | Description: The object instance was transferred from one | |||
registrant to another. | registrar to another. | |||
Registrant Name: IESG | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | Registrant Contact Information: iesg@ietf.org | |||
* Value: locked | * Value: locked | |||
Type: event action | Type: event action | |||
Description: The object instance was locked (see the 'locked' | Description: The object instance was locked (see the 'locked' | |||
skipping to change at page 68, line 33 ¶ | skipping to change at page 68, line 33 ¶ | |||
* Contact Information: Scott Hollenbeck, shollenbeck@verisign.com | * Contact Information: Scott Hollenbeck, shollenbeck@verisign.com | |||
11.4. Asia-Pacific Network Information Centre (APNIC) | 11.4. Asia-Pacific Network Information Centre (APNIC) | |||
* Responsible Organization: Asia-Pacific Network Information Centre | * Responsible Organization: Asia-Pacific Network Information Centre | |||
(APNIC) | (APNIC) | |||
* Location: https://rdap.apnic.net/, https://github.com/APNIC-net/ | * Location: https://rdap.apnic.net/, https://github.com/APNIC-net/ | |||
rdapd | rdapd | |||
* Description: APNIC's production RDAP service for Internet | * Description: APNIC's production RDAP service for Internet number | |||
numberresouces. | resouces. | |||
* Level of Maturity: Production. | * Level of Maturity: Production. | |||
* Coverage: Lookup of IP networks, AS numbers, domains, and | * Coverage: Lookup of IP networks, AS numbers, domains, and | |||
entities. Also domain search by name, entity search by handle or | entities. Also domain search by name, entity search by handle or | |||
full name, and help responses. | full name, and help responses. | |||
* Version Compatibility: RFC 7483 | * Version Compatibility: RFC 7483 | |||
* Contact Information: helpdesk@apnic.net | * Contact Information: helpdesk@apnic.net | |||
skipping to change at page 70, line 28 ¶ | skipping to change at page 70, line 28 ¶ | |||
See Appendix A.1 for an example of applying those values to contacts | See Appendix A.1 for an example of applying those values to contacts | |||
and registrants. | and registrants. | |||
15. References | 15. References | |||
15.1. Normative References | 15.1. Normative References | |||
[I-D.ietf-regext-rfc7482bis] | [I-D.ietf-regext-rfc7482bis] | |||
Hollenbeck, S. and A. Newton, "Registration Data Access | Hollenbeck, S. and A. Newton, "Registration Data Access | |||
Protocol (RDAP) Query Format", Work in Progress, Internet- | Protocol (RDAP) Query Format", Work in Progress, Internet- | |||
Draft, draft-ietf-regext-rfc7482bis-01, 29 June 2020, | Draft, draft-ietf-regext-rfc7482bis-02, 8 September 2020, | |||
<http://www.ietf.org/internet-drafts/draft-ietf-regext- | <http://www.ietf.org/internet-drafts/draft-ietf-regext- | |||
rfc7482bis-01.txt>. | rfc7482bis-02.txt>. | |||
[ISO.3166.1988] | [ISO.3166.1988] | |||
International Organization for Standardization, "Codes for | International Organization for Standardization, "Codes for | |||
the representation of names of countries, 3rd edition", | the representation of names of countries, 3rd edition", | |||
ISO Standard 3166, August 1988. | ISO Standard 3166, August 1988. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
skipping to change at page 82, line 36 ¶ | skipping to change at page 82, line 36 ¶ | |||
not a universal constant in that industry. And finally, EPP's use of | not a universal constant in that industry. And finally, EPP's use of | |||
XML predates the specification of JSON. If EPP had been defined | XML predates the specification of JSON. If EPP had been defined | |||
today, it may very well have used JSON instead of XML. | today, it may very well have used JSON instead of XML. | |||
Beyond the specific DNR and RIR communities, the trend in the broader | Beyond the specific DNR and RIR communities, the trend in the broader | |||
Internet industry is also switching to JSON over XML, especially in | Internet industry is also switching to JSON over XML, especially in | |||
the area of RESTful web services (see [JSON_ascendancy]). Studies | the area of RESTful web services (see [JSON_ascendancy]). Studies | |||
have also found that JSON is generally less bulky and consequently | have also found that JSON is generally less bulky and consequently | |||
faster to parse (see [JSON_performance_study]). | faster to parse (see [JSON_performance_study]). | |||
Acknowledgements | Acknowledgments | |||
This document is derived from original work on RIR responses in JSON | This document is derived from original work on RIR responses in JSON | |||
by Byron J. Ellacott, Arturo L. Servin, Kaveh Ranjbar, and Andrew | by Byron J. Ellacott, Arturo L. Servin, Kaveh Ranjbar, and Andrew | |||
L. Newton. Additionally, this document incorporates work on DNR | L. Newton. Additionally, this document incorporates work on DNR | |||
responses in JSON by Ning Kong, Linlin Zhou, Jiagui Xie, and Sean | responses in JSON by Ning Kong, Linlin Zhou, Jiagui Xie, and Sean | |||
Shen. | Shen. | |||
The components of the DNR object classes are derived from a | The components of the DNR object classes are derived from a | |||
categorization of WHOIS response formats created by Ning Kong, Linlin | categorization of WHOIS response formats created by Ning Kong, Linlin | |||
Zhou, Guangqing Deng, Steve Sheng, Francisco Arias, Ray Bellis, and | Zhou, Guangqing Deng, Steve Sheng, Francisco Arias, Ray Bellis, and | |||
skipping to change at page 84, line 8 ¶ | skipping to change at page 84, line 8 ¶ | |||
appendix C, quoted the word "label" in "label attribute". Added | appendix C, quoted the word "label" in "label attribute". Added | |||
reference to "status" definition in the descriptions for IP | reference to "status" definition in the descriptions for IP | |||
networks and autnums. Fixed a 404 for the informative reference | networks and autnums. Fixed a 404 for the informative reference | |||
to "The Stealthy Ascendancy of JSON". Added "boolean" to the | to "The Stealthy Ascendancy of JSON". Added "boolean" to the | |||
definition of zoneSigned. Clarified REQUIRED and OPTIONAL members | definition of zoneSigned. Clarified REQUIRED and OPTIONAL members | |||
of the "events" array. Changed "SHOULD not" to "SHOULD NOT" in | of the "events" array. Changed "SHOULD not" to "SHOULD NOT" in | |||
Section 5. Updated normative references (5226-8126, 5988-8288, | Section 5. Updated normative references (5226-8126, 5988-8288, | |||
7159-8259). Changed examples using "ns1.xn--fo-5ja.example" to | 7159-8259). Changed examples using "ns1.xn--fo-5ja.example" to | |||
split URLs to avoid long lines. | split URLs to avoid long lines. | |||
00: Initial working group version. Added acknowledgements. | 00: Initial working group version. Added acknowledgments. | |||
01: Changed "The "lang" attribute may appear anywhere in an object | 01: Changed "The "lang" attribute may appear anywhere in an object | |||
class or data structure except for in jCard objects" to "The | class or data structure except for in jCard objects" to "The | |||
"lang" attribute as defined in this section MAY appear anywhere in | "lang" attribute as defined in this section MAY appear anywhere in | |||
an object class or data structure, except for in jCard objects. | an object class or data structure, except for in jCard objects. | |||
jCard supports similar functionality by way of the LANGUAGE | jCard supports similar functionality by way of the LANGUAGE | |||
property parameter (see Section 5.1 of RFC 6350 [RFC6350]". | property parameter (see Section 5.1 of RFC 6350 [RFC6350]". | |||
Changed "simple data types conveyed in JSON strings" to "simple | Changed "simple data types conveyed in JSON strings" to "simple | |||
data types conveyed in JSON primitive types (strings, numbers, | data types conveyed in JSON primitive types (strings, numbers, | |||
booleans, and null)". Changed "In other words, servers are free | booleans, and null)". Changed "In other words, servers are free | |||
skipping to change at page 84, line 49 ¶ | skipping to change at page 84, line 49 ¶ | |||
Definitions" section for consistency. Changed instances of | Definitions" section for consistency. Changed instances of | |||
"lunarNic" to "lunarNIC" for consistency. Removed an extraneous | "lunarNic" to "lunarNIC" for consistency. Removed an extraneous | |||
trailing period after the eventDate description. Changed a "." to | trailing period after the eventDate description. Changed a "." to | |||
";" in the description of the "network" member of the domain | ";" in the description of the "network" member of the domain | |||
object class. Changed "The high-level structure of the autnum | object class. Changed "The high-level structure of the autnum | |||
object class consists of information about the network | object class consists of information about the network | |||
registration" to "The high-level structure of the autnum object | registration" to "The high-level structure of the autnum object | |||
class consists of information about the autonomous system number | class consists of information about the autonomous system number | |||
registration". Changed "registry unique" to "registry-unique". | registration". Changed "registry unique" to "registry-unique". | |||
02: Changed "registrant" to "registrar" in the description of the | ||||
"transfer" event action to address erratum 6158. Added IANA | ||||
instructions to correct the description of the value in the | ||||
registry. Added text to Section 4.2 to note that "self" and | ||||
"related" "href" URIs MUST NOT be the same. Added text to | ||||
Section 4.2 to describe return of IDNs in LDH name format. | ||||
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 | United States | |||
Email: shollenbeck@verisign.com | Email: shollenbeck@verisign.com | |||
URI: https://www.verisignlabs.com/ | URI: https://www.verisignlabs.com/ | |||
Andy Newton | Andy Newton | |||
End of changes. 15 change blocks. | ||||
14 lines changed or deleted | 32 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/ |