draft-ietf-regext-rdap-partial-response-07.txt   draft-ietf-regext-rdap-partial-response-08.txt 
Registration Protocols Extensions M. Loffredo Registration Protocols Extensions M. Loffredo
Internet-Draft M. Martinelli Internet-Draft M. Martinelli
Intended status: Standards Track IIT-CNR/Registro.it Intended status: Standards Track IIT-CNR/Registro.it
Expires: September 14, 2020 March 13, 2020 Expires: October 16, 2020 April 14, 2020
Registration Data Access Protocol (RDAP) Partial Response Registration Data Access Protocol (RDAP) Partial Response
draft-ietf-regext-rdap-partial-response-07 draft-ietf-regext-rdap-partial-response-08
Abstract Abstract
The Registration Data Access Protocol (RDAP) does not include The Registration Data Access Protocol (RDAP) does not include
capabilities to request partial responses. In fact, according to the capabilities to request partial responses. In fact, according to the
user authorization, the server can only return full responses. A user authorization, the server can only return full responses. A
partial response capability, especially in the case of search partial response capability, especially in the case of search
queries, could bring benefits to both clients and servers. This queries, could bring benefits to both clients and servers. This
document describes an RDAP query extension that allows clients to document describes an RDAP query extension that allows clients to
specify their preference for obtaining a partial response. specify their preference for obtaining a partial response.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
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 September 14, 2020. This Internet-Draft will expire on October 16, 2020.
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 Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 26 skipping to change at page 2, line 26
4. Basic Field Sets . . . . . . . . . . . . . . . . . . . . . . 5 4. Basic Field Sets . . . . . . . . . . . . . . . . . . . . . . 5
5. Negative Answers . . . . . . . . . . . . . . . . . . . . . . 7 5. Negative Answers . . . . . . . . . . . . . . . . . . . . . . 7
6. Implementation Status . . . . . . . . . . . . . . . . . . . . 8 6. Implementation Status . . . . . . . . . . . . . . . . . . . . 8
6.1. IIT-CNR/Registro.it . . . . . . . . . . . . . . . . . . . 8 6.1. IIT-CNR/Registro.it . . . . . . . . . . . . . . . . . . . 8
6.2. APNIC . . . . . . . . . . . . . . . . . . . . . . . . . . 8 6.2. APNIC . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
10.1. Normative References . . . . . . . . . . . . . . . . . . 10 10.1. Normative References . . . . . . . . . . . . . . . . . . 10
10.2. Informative References . . . . . . . . . . . . . . . . . 10 10.2. Informative References . . . . . . . . . . . . . . . . . 11
Appendix A. Approaches to Partial Response Implementation . . . 11 Appendix A. Approaches to Partial Response Implementation . . . 11
A.1. Specific Issues Raised by RDAP . . . . . . . . . . . . . 12 A.1. Specific Issues Raised by RDAP . . . . . . . . . . . . . 12
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 13 Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
The use of partial response in RESTful API ([REST]) design is very The use of partial response in RESTful API ([REST]) design is very
common. The rationale is quite simple: instead of returning objects common. The rationale is quite simple: instead of returning objects
in API responses with all data fields, only a subset of fields in in API responses with all data fields, only a subset of fields in
skipping to change at page 4, line 35 skipping to change at page 4, line 35
applied by default; applied by default;
* "description": "String" (OPTIONAL) a human-readable description * "description": "String" (OPTIONAL) a human-readable description
of the field set; of the field set;
* "links": "Link[]" (OPTIONAL) an array of links as described in * "links": "Link[]" (OPTIONAL) an array of links as described in
RFC 8288 ([RFC8288]) containing the query string that applies RFC 8288 ([RFC8288]) containing the query string that applies
the field set. the field set.
2.1.1. RDAP Conformance 2.1.1. RDAP Conformance
Servers returning the "subsetting_metadata" section in their Servers returning the "subsetting_metadata" section in their
responses MUST include "subsetting_level_0" in the rdapConformance responses MUST include "subsetting" in the rdapConformance array.
array.
2.1.2. Representing Subsetting Links 2.1.2. Representing Subsetting Links
An RDAP server MAY use the "links" array of the "subsetting_metadata" An RDAP server MAY use the "links" array of the "subsetting_metadata"
element to provide ready-made references ([RFC8288]) to the available element to provide ready-made references ([RFC8288]) to the available
field sets (Figure 2). Each link represents a reference to an field sets (Figure 2). Each link represents a reference to an
alternate view of the results. alternate view of the results.
{ {
"rdapConformance": [ "rdapConformance": [
"rdap_level_0", "rdap_level_0",
"subsetting_level_0" "subsetting"
], ],
... ...
"subsetting_metadata": { "subsetting_metadata": {
"currentFieldSet": "afieldset", "currentFieldSet": "afieldset",
"availableFieldSets": [ "availableFieldSets": [
{ {
"name": "anotherfieldset", "name": "anotherfieldset",
"description": "Contains some fields", "description": "Contains some fields",
"default": false, "default": false,
"links": [ "links": [
skipping to change at page 10, line 44 skipping to change at page 10, line 44
[RFC7482] Newton, A. and S. Hollenbeck, "Registration Data Access [RFC7482] Newton, A. and S. Hollenbeck, "Registration Data Access
Protocol (RDAP) Query Format", RFC 7482, Protocol (RDAP) Query Format", RFC 7482,
DOI 10.17487/RFC7482, March 2015, DOI 10.17487/RFC7482, March 2015,
<https://www.rfc-editor.org/info/rfc7482>. <https://www.rfc-editor.org/info/rfc7482>.
[RFC7483] Newton, A. and S. Hollenbeck, "JSON Responses for the [RFC7483] Newton, A. and S. Hollenbeck, "JSON Responses for the
Registration Data Access Protocol (RDAP)", RFC 7483, Registration Data Access Protocol (RDAP)", RFC 7483,
DOI 10.17487/RFC7483, March 2015, DOI 10.17487/RFC7483, March 2015,
<https://www.rfc-editor.org/info/rfc7483>. <https://www.rfc-editor.org/info/rfc7483>.
[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>.
[RFC8288] Nottingham, M., "Web Linking", RFC 8288, [RFC8288] Nottingham, M., "Web Linking", RFC 8288,
DOI 10.17487/RFC8288, October 2017, DOI 10.17487/RFC8288, October 2017,
<https://www.rfc-editor.org/info/rfc8288>. <https://www.rfc-editor.org/info/rfc8288>.
10.2. Informative References 10.2. Informative References
[CQL] Whitaker, G., "Catnap Query Language Reference", September [CQL] Whitaker, G., "Catnap Query Language Reference", September
2017, <https://github.com/gregwhitaker/catnap/wiki/Catnap- 2017, <https://github.com/gregwhitaker/catnap/wiki/Catnap-
Query-Language-Reference>. Query-Language-Reference>.
skipping to change at page 11, line 38 skipping to change at page 11, line 44
<http://www.restapitutorial.com/media/ <http://www.restapitutorial.com/media/
RESTful_Best_Practices-v1_1.pdf>. RESTful_Best_Practices-v1_1.pdf>.
[REST-API1] [REST-API1]
Jobinesh, P., "RESTful Java Web Services - Second Jobinesh, P., "RESTful Java Web Services - Second
Edition", September 2015. Edition", September 2015.
[REST-API2] [REST-API2]
Masse, M., "REST API Design Rulebook", October 2011. Masse, M., "REST API Design Rulebook", October 2011.
[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>.
Appendix A. Approaches to Partial Response Implementation Appendix A. Approaches to Partial Response Implementation
Looking at the implementation experiences described in Section 1, two Looking at the implementation experiences described in Section 1, two
approaches to the implementation of partial response can be detected: approaches to the implementation of partial response can be detected:
o the client declares explicitly the data fields to get back; o the client declares explicitly the data fields to get back;
o the client declares a name identifying a server pre-defined set of o the client declares a name identifying a server pre-defined set of
data fields. data fields.
skipping to change at page 14, line 7 skipping to change at page 14, line 7
05: Moved "Approaches to Partial Response Implementation" section to 05: Moved "Approaches to Partial Response Implementation" section to
the appendix. the appendix.
06: Clarified the use of self links in "Basic Field Sets" section. 06: Clarified the use of self links in "Basic Field Sets" section.
Added APNIC to the implementations of the "Implementation Status" Added APNIC to the implementations of the "Implementation Status"
section. section.
07: Changed "only a subset is returned" to "only a subset of fields 07: Changed "only a subset is returned" to "only a subset of fields
in each result object is returned" in the "Introduction" section. in each result object is returned" in the "Introduction" section.
Moved the "RDAP Conformance" section up in the document. Updated Moved the "RDAP Conformance" section up in the document. Updated
the "Acknowledgements" section. the "Acknowledgements" section.
08: Changed the rdapConformance tag "subsetting_level_0" to
"subsetting". Moved [RFC7942] to the "Normative References".
Authors' Addresses Authors' Addresses
Mario Loffredo Mario Loffredo
IIT-CNR/Registro.it IIT-CNR/Registro.it
Via Moruzzi,1 Via Moruzzi,1
Pisa 56124 Pisa 56124
IT IT
Email: mario.loffredo@iit.cnr.it Email: mario.loffredo@iit.cnr.it
 End of changes. 9 change blocks. 
12 lines changed or deleted 13 lines changed or added

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