Pawel,

Thank you in performing the test, which had very interesting results.  I agree 
that adding the parameter to the existing “application/rdap+json” media type 
registration is the best option, since x-media with the “extensions” (or 
“rdapx” to match the extension identifier) parameter is not adding new 
functionality to the media type itself.  The response is still RDAP using JSON. 
 The existing “rdap+json” registration is missing the “Optional parameters” 
field that is defined in the template of Section 5.6 of RFC 6838, so this can 
be corrected at the same time.  The specific language in Section 4.3 of RFC 
6838 is:

   New parameters SHOULD NOT be defined as a way to introduce new
   functionality in types registered in the standards tree, although new
   parameters MAY be added to convey additional information that does
   not otherwise change existing functionality.

I believe the key word here is “new functionality in types”, where an argument 
can be made that the addition of a new media type parameter, such as 
“extensions” / “rdapx”, is not changing the functionality of the media type 
itself.  It’s not like we’re defining an extension of JSON or changing how the 
RDAP is represented on the wire.  A hint of what to include doesn’t get to the 
level of a new functionality to the media type.  If we do need to register a 
new media type, then we either need to include “application/rdap-x+json”  in 
the “accept” header and include “application/rdap+json” in the “content-type” 
response header, or use “application/rdap-x+json” in both the “accept” and 
“content-type” headers and go down the path of updating rfc7480 and bumping 
“rdap_level_0” to “rdap_level_1”.

--

JG

[cid87442*image001.png@01D960C5.C631DA40]

James Gould
Fellow Engineer
jgo...@verisign.com<applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgo...@verisign.com>

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com<http://verisigninc.com/>

From: "kowa...@denic.de" <kowa...@denic.de>
Date: Thursday, November 14, 2024 at 6:59 AM
To: "Andrew Newton (andy)" <a...@hxr.us>, Mario Loffredo 
<mario.loffredo=40iit.cnr...@dmarc.ietf.org>, James Gould <jgo...@verisign.com>
Cc: "regext@ietf.org" <regext@ietf.org>
Subject: [EXTERNAL] Re: [regext] Re: draft-ietf-regext-rdap-x-media-type-02 
Feedback (on rdap-x media type)


Hi,

A sub-thread just on this one aspect of media type to be used in rdap-x, or 
generally content negotiation.
On 12.11.24 21:46, Andrew Newton (andy) wrote:

responding to both Mario and JGould in line...



On Mon, Nov 4, 2024 at 5:50 AM Mario Loffredo

<mario.loffredo=40iit.cnr...@dmarc.ietf.org><mailto:mario.loffredo=40iit.cnr...@dmarc.ietf.org>
 wrote:









Section 3 "Using The RDAP-X Media Type"



My initial thought upon re-review of this section was to reuse the existing 
"application/rdap+json" media type by adding the optional parameter 
"extensions", or better "rdapx" to the media type registration, but then I got 
to Appendix B.1 that makes a good point with the language in RFC 6838.  I 
really don't want to include RDAP-X in the content-type header of the response, 
since it duplicates the rdapConformance member, and requires updating RFC 7480 
with no real positive value.  Updating RFC 7480 may also trigger the need to 
bump rdap_level_0 to rdap_level_1, which is certainly not desired.  We should 
re-evaluate the language of RFC 6838 in its application to an RDAP extension.  
How about adding support for RDAP-X in the accept header of the request and to 
have the response content-type header remain using the existing media type of 
"application/rdap+json"?  This would meet the need of the client providing the 
RDAP extension hints without the negative side effects of updating RFC 7480 and 
bumping rdap_level_0 to rdap_level_1.





This is an interesting idea and I think it simplifies things. Thanks.

I would very much support extending application/rdap+json with an additional 
optional parameter of requested extensions instead of adding application/rdap-x 
at all. A new artificial media type seems to be a tempting approach to maintain 
back compatibility, but maybe it is not needed at all?

There was an argument, that it would likely break the servers if unexpected 
parameters appear. I decided to check in reality how big the problem would be.

With help of small script [1] I queried all RDAP servers listed in IANA 
bootstrap list to get some stats how they behave with different Accept header.

The results [2] show, that 99.65% of the servers would deliver the same answer 
for 'application/rdap+json;extensions="rdap_level_0 rdapx foo"' as they do for 
'application/rdap+json'.

What with the remaining 0.35%? It seems they are so wrongly implemented, that 
they would also break if an additional media type rdap-x appears in the 
request. 99.47% works with rdap-x as a second media type and 99.29% if you 
change order and put rdap-x first.

My conclusion is, that rdap-x will break a marginal portion of wrongly written 
servers, no matter if we keep same media type or define a new one.

Defining a new media type would mean, that application/rdap-x+json would remain 
with us forever, as it will never replace application/rdap+json, but will 
become eventually a common practice to support. Extending of 
application/rdap+json seems to me less of pollution to the protocol on the long 
run.





Appendix B.1 "Not Reusing the Existing Media Type"



This section helped me out since my thought was to reuse the existing 
"application/rdap+json" media type instead of defining the new RDAP-X media 
type.  The language in RFC 6838 is clear and adding the capability of providing 
hints of the RDAP extensions is new functionality, but I really don't see that 
it's adding new functionality for the media type itself. We could define the 
existing "application/rdap+json" media type optional parameters as a form of 
extension in the extensions draft, where it will become an extension point 
without adding new functionality specific to the media type itself.  The 
response is still RDAP using JSON independent of the mix of extensions that are 
used.  If use of an optional media type parameter of the existing 
"application/rdap+json" media type cannot be done, can RDAP-X be used in the 
accept header and not returned in the content-type header to get the value of 
RDAP-X without the negative side effect of updating RFC 7480 and bumping 
rdap_level_0 to rdap_level_1?



[ML] Think it's worth investigating if this soultion could be feasible.





I think so. We'll look into it. See above.

Also supportive of this one. Just extend the media type registration that 
parameters are to be expected provided by extensions (with usual prefix logic 
of RDAP etc.). New parameters will be then added in extensions themselves and 
update media type registration with detailed parameters.

The registration tells there are no *required* parameters to the media type, 
which remains true so in my opinion neither update to rfc7483 or rfc7480 would 
be required nor would we need to bump to rdap_level_1.



[1] 
https://github.com/pawel-kow/RDAP-tests/<https://secure-web.cisco.com/1ZV4CLyqfu4OETIDapJVChjr_9vmwyZZd097PFh0ml0YPQOveb8UBv_OVL57310s1C_CW85CGoJRAgBC7V7thuJE-E9POY47O0phZ7w1-diSM9rKvheOBKSUmLrUC0Ey9ZEDJ8y5i_n6LzO61VwLTZhUB9bnfDTqrBQedyfSE5td0WMVpIGNuNkLLe1DtSvC7KwXdjbh-x9dJS21OLFF2DF3CGHojKhc25Ib6toC5xVLC2-HgmGrUmpl04R5wWhf7omStt33KujkThhjpSq5VhoMg7CpC8kceaHDlAMbgKIY/https%3A%2F%2Fgithub.com%2Fpawel-kow%2FRDAP-tests%2F>

[2] 
https://github.com/pawel-kow/RDAP-tests/blob/main/rdap_help_responses_20241114_IANA_bootstrap_list.md<https://secure-web.cisco.com/1t3-KfK5rFOy9MkpJLSsBCx0YtEctHBl3shHT4nBV7Oq7sqEfdvO_X-w4w-8tWZ94d5KcvuRaR79_MSWktSiO50zNt6ijtMbG4ho84IQqNGaHUt_lc0834Xq-IrPkkPLhtmV6gd0U9SdxbTbog990T3vdj_07GecVVdK44TUsIEswkMXAduSiCSM8JhwKbMTiTuwxq-o1rw4O8cjCIx3EjmfTkqOiF63vV7hoed6smJMPaXxOn-vB3GRSrghxeEhbFq7VJN4bAu0OasHyOFxGnHyCDpsYtEoCGsTd-I_h2Tk/https%3A%2F%2Fgithub.com%2Fpawel-kow%2FRDAP-tests%2Fblob%2Fmain%2Frdap_help_responses_20241114_IANA_bootstrap_list.md>

    
https://github.com/pawel-kow/RDAP-tests/blob/main/rdap_help_responses_20241114_IANA_bootstrap_list.csv<https://secure-web.cisco.com/12hqrcNEtTr9NikSC_HHasuCnWl_IW6BmeuTKFnFk8Q-ANPHm2yetd3SJCptvPXG_PkzuTld-TdetT-YeFbR01ZCPNeD9V49H93qy76HTlTDVHAGUEFeZJfsR_6dfuHE11cpfSwWbcWX3oKoY7M0X-LhUhLDTT6VeR1keuv4OEmWBpvaAl_kPT0YvetemzDWtbNwgs0u6cMboAJYt8zpL3XRLyKAK3VzPIZi5oPI35hkLqFStEWFBds3MQE5AalxpUMDW1JQ10DH9M-2U1f6yZYYxbz--crtmNb-pBn7vFkU/https%3A%2F%2Fgithub.com%2Fpawel-kow%2FRDAP-tests%2Fblob%2Fmain%2Frdap_help_responses_20241114_IANA_bootstrap_list.csv>

Kind Regards,

Pawel


_______________________________________________
regext mailing list -- regext@ietf.org
To unsubscribe send an email to regext-le...@ietf.org

Reply via email to