[Uri-review] Re: [art] Alternative representation of URIs in YANG

Kent Watsen <kent+ietf@watsen.net> Thu, 04 December 2025 14:46 UTC

Return-Path: <0100019ae9d410b7-65ca59e5-f278-43b4-a9d7-b269bf5dc61c-000000@amazonses.watsen.net>
X-Original-To: uri-review@mail2.ietf.org
Delivered-To: uri-review@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id CAE9995632AE; Thu, 4 Dec 2025 06:46:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ar4vZixJDd1U; Thu, 4 Dec 2025 06:46:21 -0800 (PST)
Received: from a8-83.smtp-out.amazonses.com (a8-83.smtp-out.amazonses.com [54.240.8.83]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 4514295632A7; Thu, 4 Dec 2025 06:46:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1764859580; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=OZzGFcuri/DEQZereVHxb4bbjkTCcpoEUxi+ggXhyp0=; b=T1Dd9H3Px9W59phdtMJXyVKl+80U37B32omvFdDigFUYRpxsuUYA/ZJWZQOXzLfN +aVQbNgEAO+n6Yo4AbAuSOrsiWqUPDiTsQx3iKzRsSaQThBUe9+knpmfvnNVgbT1+qK +ZqUsmJsPqENHWC6ibQgve7GzkDWOzlWy7SKTJyY=
From: Kent Watsen <kent+ietf@watsen.net>
Message-ID: <0100019ae9d410b7-65ca59e5-f278-43b4-a9d7-b269bf5dc61c-000000@email.amazonses.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_475A8C5F-A6C8-480C-9D93-03636F5DC92D"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81\))
Date: Thu, 04 Dec 2025 14:46:20 +0000
In-Reply-To: <fd64b5cb-a74f-4ba0-8469-7a84f127e518@betaapp.fastmail.com>
To: Martin Thomson <mt@lowentropy.net>
References: <04751771-27b6-4894-81dc-82036aeea5d2@betaapp.fastmail.com> <0100019ab804a507-449eb08e-87a3-4afc-bb98-9b67827bf928-000000@email.amazonses.com> <05d03d11-f140-461e-8a68-0dd6f1bfe465@it.aoyama.ac.jp> <FRWPR07MB106228FC36F536D383AEEE6A5A2DDA@FRWPR07MB10622.eurprd07.prod.outlook.com> <331d1f14-8ae6-41b7-810d-a21c3a5a5041@it.aoyama.ac.jp> <0100019ae08ae5d4-27a4240b-c315-4363-b79c-2fb80a81eb9f-000000@email.amazonses.com> <8679986b-f7c5-4621-bd04-b970b90ce426@betaapp.fastmail.com> <0100019ae59947ac-edb18e77-10fb-4adf-8e18-da9fe0ee7a01-000000@email.amazonses.com> <fd64b5cb-a74f-4ba0-8469-7a84f127e518@betaapp.fastmail.com>
X-Mailer: Apple Mail (2.3826.700.81)
Feedback-ID: ::1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
X-SES-Outgoing: 2025.12.04-54.240.8.83
Message-ID-Hash: FWZHRYCJRSTZBKFYDFMHKBSAXFPLBHF6
X-Message-ID-Hash: FWZHRYCJRSTZBKFYDFMHKBSAXFPLBHF6
X-MailFrom: 0100019ae9d410b7-65ca59e5-f278-43b4-a9d7-b269bf5dc61c-000000@amazonses.watsen.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-uri-review.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: tom petch <ietfa@btconnect.com>, "art@ietf.org" <art@ietf.org>, "uri@w3.org" <uri@w3.org>, "uri-review@ietf.org" <uri-review@ietf.org>, Mahesh Jethanandani <mjethanandani@gmail.com>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Uri-review] Re: [art] Alternative representation of URIs in YANG
List-Id: Proposed URI Schemes <uri-review.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/uri-review/6OMPpuIJJAILejqCIThUFoMGaww>
List-Archive: <https://mailarchive.ietf.org/arch/browse/uri-review>
List-Help: <mailto:uri-review-request@ietf.org?subject=help>
List-Owner: <mailto:uri-review-owner@ietf.org>
List-Post: <mailto:uri-review@ietf.org>
List-Subscribe: <mailto:uri-review-join@ietf.org>
List-Unsubscribe: <mailto:uri-review-leave@ietf.org>

Hi Martin,


> On Dec 3, 2025, at 2:27 PM, Martin Thomson <mt@lowentropy.net> wrote:
> 
> Hi Kent,
> 
> On Thu, Dec 4, 2025, at 06:03, Kent Watsen wrote:
>>> URIs are more complicated than your decomposed structure allows for.  That's the problem.  If you are going to represent a URI, it really has to be a string.
>> 
>> I believe you, but I'm unsure what I missed in RFC 3986...
>> 
>> Does this regard the percent-encoded form of URIs that don't follow 
>> the "normal circumstance" mentioned in the first paragraph here: 
>> https://datatracker.ietf.org/doc/html/rfc3986#section-2.4?   Would it 
>> help for this draft to state that the values MAY be percent-encoded?
> 
> I was inclined to ask what the "ietf-inet:uri" definition says, but it really doesn't say anything.  Which is OK.

Sure, same as with the "ietf-uri:uri" definition.

But I'm still trying to square the statement "URIs are more complicated than your decomposed structure allows for".  So far, they still appear to be 1-1 to me.  Can an example where conversion doesn't hold be provided?  A pointer to some text in an RFC would also be great.



> That section says this:
> 
>> Once produced, a URI is always in its percent-encoded form.
> 
> In other words, don't worry about that, because octets that are not in the URI grammar will be percent-encoded by the thing that produces the URI.  (If that's you, great. You get to learn how to make a URI. No doubt you will get it "wrong" by some objective measure, but that's OK, because everyone does. The way we cope is that most URI-handling software will either manage or not work.  So you can test.  That's not a great story, but it's the one we've got.)

I'm familiar with percent-encoding.  For what it's worth, I'm also author on RFC 8040 (RESTCONF) and have personally developed a RESTCONF server capable of encoding URI containing query parameters into URI query parameters, which likely maximizes the need for percent-encoding!  Of course, I used a library to do the work, specifically the "quote" and "unquote" routines from urllib.parse.  In any case, the code was right on the second commit ;)


Kent // author of draft-ietf-netconf-http-client-server