Registration Data Access Protocol (RDAP) Query Parameters for Result Sorting and Paging
RFC 8977
Document | Type | RFC - Proposed Standard (January 2021; No errata) | |
---|---|---|---|
Authors | Mario Loffredo , Maurizio Martinelli , Scott Hollenbeck | ||
Last updated | 2021-01-22 | ||
Replaces | draft-loffredo-regext-rdap-sorting-and-paging | ||
Stream | IETF | ||
Formats | plain text html xml pdf htmlized bibtex | ||
Reviews | |||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Tom Harrison | ||
Shepherd write-up | Show (last changed 2020-04-21) | ||
IESG | IESG state | RFC 8977 (Proposed Standard) | |
Action Holders |
(None)
|
||
Consensus Boilerplate | Yes | ||
Telechat date | |||
Responsible AD | Barry Leiba | ||
Send notices to | Tom Harrison <tomh@apnic.net> | ||
IANA | IANA review state | Version Changed - Review Needed | |
IANA action state | RFC-Ed-Ack | ||
IANA expert review state | Expert Reviews OK |
Internet Engineering Task Force (IETF) M. Loffredo Request for Comments: 8977 M. Martinelli Category: Standards Track IIT-CNR/Registro.it ISSN: 2070-1721 S. Hollenbeck Verisign Labs January 2021 Registration Data Access Protocol (RDAP) Query Parameters for Result Sorting and Paging Abstract The Registration Data Access Protocol (RDAP) does not include core functionality for clients to provide sorting and paging parameters for control of large result sets. This omission can lead to unpredictable server processing of queries and client processing of responses. This unpredictability can be greatly reduced if clients can provide servers with their preferences for managing large responses. This document describes RDAP query extensions that allow clients to specify their preferences for sorting and paging result sets. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8977. Copyright Notice Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction 1.1. Conventions Used in This Document 2. RDAP Query Parameter Specification 2.1. Sorting and Paging Metadata 2.1.1. RDAP Conformance 2.2. "count" Parameter 2.3. "sort" Parameter 2.3.1. Sorting Properties Declaration 2.3.2. Representing Sorting Links 2.4. "cursor" Parameter 2.4.1. Representing Paging Links 3. Negative Answers 4. Implementation Considerations 5. IANA Considerations 6. Security Considerations 7. References 7.1. Normative References 7.2. Informative References Appendix A. JSONPath Operators Appendix B. Approaches to Result Pagination B.1. Specific Issues Raised by RDAP Appendix C. Implementation Notes C.1. Sorting C.2. Counting C.3. Paging Acknowledgements Authors' Addresses 1. Introduction The availability of functionality for result sorting and paging provides benefits to both clients and servers in the implementation of RESTful services [REST]. These benefits include: * reducing the server response bandwidth requirements * improving server response time * improving query precision and, consequently, obtaining more relevant results * decreasing server query processing load * reducing client response processing time Approaches to implementing features for result sorting and paging can be grouped into two main categories: 1. Sorting and paging are implemented through the introduction of additional parameters in the query string (e.g., the Open Data Protocol (ODATA) [ODATA-PART1]). 2. Information related to the number of results and the specific portion of the result set to be returned, in addition to a set of ready-made links for the result set scrolling, are inserted in the HTTP header of the request/response [RFC7231]. However, there are some drawbacks associated with the use of the HTTP header. First, the header properties cannot be set directly from a web browser. Moreover, in an HTTP session, the information on the status (i.e., the session identifier) is usually inserted in the header or a cookie, while the information on the resource identification or the search type is included in the query string. Finally, providing custom information through HTTP headers assumes the client has prior knowledge of the server implementation, which is widely considered a Representational State Transfer (REST) design anti-pattern. As a result, this document describes a specificationShow full document text