Re: [httpapi] Structured Fields for HTTP APIs

"Martin J. Dürst" <duerst@it.aoyama.ac.jp> Wed, 01 February 2023 04:46 UTC

Return-Path: <duerst@it.aoyama.ac.jp>
X-Original-To: httpapi@ietfa.amsl.com
Delivered-To: httpapi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53EFFC15C510 for <httpapi@ietfa.amsl.com>; Tue, 31 Jan 2023 20:46:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=itaoyama.onmicrosoft.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id afkTVmbyduS4 for <httpapi@ietfa.amsl.com>; Tue, 31 Jan 2023 20:46:36 -0800 (PST)
Received: from APC01-PSA-obe.outbound.protection.outlook.com (mail-psaapc01on2090.outbound.protection.outlook.com [40.107.255.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 39457C151707 for <httpapi@ietf.org>; Tue, 31 Jan 2023 20:46:35 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UN+AtrFzTC6MAzqcS8aT0Jqjz5lNfHDVWm30QCIpj+KiFdmilFbrSUZXSwt1CwcGPf7B/pkqv2A+2JvRRkIcc0jMYeRHok3/Y4h6PbAxdLOqj8rk4WPs9TBeTCm+v5I7mggAdqYRXB1KSLJN+vwalGhl1AQumI7zoewRmHKpBY8EGB/8r+VFUGAyEfHdGODW3DkXDCXEJKi6ZddxULprB7u1NJMHmbT5QGwNc9Y9UeGh5jgQZHz5vM5jUn7dSM+HRcbBsVswT2hl2QQirHnSw1a+hZoomnjMM45as5oMJNu8Iw1VwYTDX0ds3zKMYzURSsWcRb+3YuUxRLeGs/zzlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AYmaKF4+fodjvSdzHpARc3VlZoBHqoBfsGpA+vwUyOs=; b=BRS/wqFfqY8b5guAkimbPCyrWqpoNEzy5I/InySMGincVB4HsOmHrJ0O1liu+DHqHUZJVXagGmM2LiU2ICcG/tmbPrkI3PEeXLz+yhq0fyyDUqLgHkWndG1z4ME6L0eN+Ihszs1PzgZ8mRyG6so4ArkeXxKTTP6vrfh0ybQTy1kUph/I+wEofGghmhEwhPb+7Pl4xsT5Fy1WI4jGcEEfW67YY8110ZOq9X+f8sFWH5m5qhW5EPLSfmlGsqs/15c8m33OfWdbI0N7PKJQwi/9IpGTM0cE8a9Ye85LYiSO0Yu545WW6wy0y/0M/TUl+7ELru8UTeHzONUktZMPWLNlAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=it.aoyama.ac.jp; dmarc=pass action=none header.from=it.aoyama.ac.jp; dkim=pass header.d=it.aoyama.ac.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=itaoyama.onmicrosoft.com; s=selector2-itaoyama-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AYmaKF4+fodjvSdzHpARc3VlZoBHqoBfsGpA+vwUyOs=; b=HxWw4+4orJwKi4jqbk9MNhXSc0pSRy+fYNnY3JgSn4jMV8cuMnrz8ejtKlWKMWtOxpqBWyD7KA1cYIxdSwY0EObYdP02hW7FI8tmQG/DpC9uephPaCcYYy+AjHQAQF2xGCznd6S5jp6GfNs8rpHWjp+j6Ef+xRJhhEtW9g3iRL0=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=it.aoyama.ac.jp;
Received: from TYAPR01MB5689.jpnprd01.prod.outlook.com (2603:1096:404:8053::7) by TYWPR01MB8315.jpnprd01.prod.outlook.com (2603:1096:400:164::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Wed, 1 Feb 2023 04:46:31 +0000
Received: from TYAPR01MB5689.jpnprd01.prod.outlook.com ([fe80::b8ae:9cb8:821b:ccc5]) by TYAPR01MB5689.jpnprd01.prod.outlook.com ([fe80::b8ae:9cb8:821b:ccc5%9]) with mapi id 15.20.6064.022; Wed, 1 Feb 2023 04:46:30 +0000
Message-ID: <45bb0890-998a-1c41-e028-a302cc78ea0b@it.aoyama.ac.jp>
Date: Wed, 01 Feb 2023 13:46:28 +0900
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1
Content-Language: en-US
To: Julian Reschke <julian.reschke@gmx.de>, httpapi@ietf.org
References: <DM6PR01MB59649603A686559109383E41A3C89@DM6PR01MB5964.prod.exchangelabs.com> <479442be-2bd2-3e0c-9c75-655e62d3af26@gmx.de>
From: "Martin J. Dürst" <duerst@it.aoyama.ac.jp>
Organization: Aoyama Gakuin University
In-Reply-To: <479442be-2bd2-3e0c-9c75-655e62d3af26@gmx.de>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: TYCP286CA0061.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:31a::13) To TYAPR01MB5689.jpnprd01.prod.outlook.com (2603:1096:404:8053::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYAPR01MB5689:EE_|TYWPR01MB8315:EE_
X-MS-Office365-Filtering-Correlation-Id: 0706ec98-3dfe-4a66-a0a2-08db040f4902
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: YjzGiiu5ExwjShGRXosbrQmc9x+yV8V8Ccs0xGygTMADXc4a9s+pXl5yQNFagbv1t4XdGsHMY8Pv4LTCRzUVy1q2vPRkl9EuvNUDHRUOW2U352Pk/A/hTO9PEFN1EI9X9P7duRbnswYGVIyIDfgtJleD8EfVFmrFwvGa/jfqzx0tOX904LGNWtKv3zkUSUuaat4ZDwOs0VfXI881SdVNGmN5J7PA41xy6qblXcELd+/DQBGCuMqA0/LjM4N7SPKmsTsNeLOZwCGSlAp8dEv46Kfpu+Yz0dN11QgjzfQfzpJZeSnWrozqdxVnJEqKPFFGI1Q1iXOuwuD6nXQPJ+K/au2WJJH/KmieGa2Nz1Mdg9qsNjkMIHyhPswnR9xRAxoKiggsTkwY1g94OwCr+jdY5ME0JodocCnZbX4mNqIvcmTG4QUpW0xZHbGqNKJZSXEOcmG8fHHwgO2xRV5FhlHgaI2AzCcPlN/56grdKxQhMZ9+W+WzwKjeuyw2rpnl1glY/nTtB0HnOOh+ddMnIkiOl/yw2J7BevahzMKRdiR5bouzK70V0GW5HQarbrQxVz5qbgDh1YJJD9PstK6NudcIn3JhKH5lJenr7p3/bVjnXp4ZA7012R9sNFbwvE2PcVxPlPT6P9bEOgNgJDZVvlRBemf0uUog9o7mQ84d/xAFiWF2Pl8pMWzczs8iWW15YUxF4cBavqYi89NpFSDCsfIp6Axy7J4NCgk0onrZqV3b/eax9Y6MWi4Ok7ZFwHcE6OKYNQ3WtEQeORpCmp5zdXpBHuU5qoYpLGvu6LNuKTNIQaU=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYAPR01MB5689.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(396003)(366004)(39850400004)(346002)(376002)(136003)(451199018)(786003)(316002)(38350700002)(38100700002)(41300700001)(2906002)(8936002)(5660300002)(83380400001)(41320700001)(8676002)(66946007)(66476007)(66556008)(31696002)(6486002)(478600001)(26005)(186003)(86362001)(966005)(2616005)(6512007)(6506007)(31686004)(53546011)(36916002)(52116002)(45980500001)(43740500002); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: rcRNhzY45ByHQx9ybrvicwM0yK1Dx3PLk29hh6PXOccNcpkuXt5fJg73kVXmLoC7IqfGbmbosnzhyMujo3YEQ/ZOPqO+eQB6EDTQjHIR+TCATGLcZ3G4t3+n1nZljjYXxCqYmGRiouuf0Al98M6sfVh+XsabOImpaVFwTrIP57gF6MaVH5a1xVWvkeVV+L6OxKdHi4nCbOIArkMALJQtI/idHBb3BdYfYChaRbwNty1A8T0AOw47TulH9EsPomCQ0cuca5yN8oKWKwEZGCPQBWoZ5lYCfbJplDON1B/eDNS+NEyy+xAWPcEwgYgTIuYQ3jMxtQjWwqgcjNahyo9wX522VZl5jXobZrji/E/gdzS4sZfnStPjy73wroCiQKlKPsiZ32DBD++7DQPeJE8YIW3JcLCW0lCSlOb4YbXkBBtXifTHHdbOLdA0BnKIWXPGSbzVWmY35SiWZH5d7a/dUmWOuqOgaxaD79pfLn+01/K4L8fpf2GapzN5HE55WJ4e+6iBpNGdB3XlUBmOnB292xnphsyTNeUiQvgboIKPFvhZ5tOWqjq1aSF+vfDsbGKUUj+z8AXuxGBr77qp9QMKUlv6e2bSuUemJz2VyvZmyVYjXq55qafwjncMMDoUR42Yly2n/aEOgibgQx1TbFjh5egqjSG3lidg8uhooIOtQ2/MBQueQCjs6Wv3hAIA9IzIPNOEEb/ywVYpZcATuprOCQTJJJzViwdiJ4xQv78bcZIuJt+9ihShD4XXtghthtaaYwckksxW878qVMVqjMe6MdnCWRUL3ngpgG5JRVimTx3ZM9WxWgHYytb+z1fUr3NkAmeSdZnGLH2U2O7URakUp5GJGo6ZyjlYpURPTNJffQh/xgodpbFNe0tU+fiyPLi1MKaGkGF7X+0bTaud58xCrcLjACLjgbopvd3f1Udelog4TCwjpwANtOCnlXW8SEGGXzcwQbElno0vZBUo1WAsyMiwxTfgXMSa6le7KzEV77vK8xb+LprSj5CUzEbSTBDK7EzHD1YDeMjbI9eAnZsEV5ZybnE9E5++Px8XSS+yQCbT2j8oA0pN5288wc5yx4Lr3P/x/DclDgCMn8P6a9kD/lhLWbeoV8xa/n/56PdlRP3aDVfsgmAn8CrIL5GKGkKdZBeOoTezgXJserLddmm8DtzmK0iB3KjxmY0NcuUvAnHWtzESTi+uNzqHZRZTF7gldUjyRf28F0YPiQhzaASuzzYJT8GXO2tON/IweA4IEh3NJZyjwXorFEA06ln/4EMPU7NkxjszxaJBst5iTElNaSjGBaY1s3BbAaGyct8lXWjfjI9Jrea7Ffu7R4BX7wWaH3OHJbpVqEkhe4AcKksfER9dxZVfY2d4A0Za/XSsM58VHeqR+CBofmJZkZAMuVu0ednH7167WKjoyF8KFs+kFSlKkfZ5qChSsjtH9ndvDUYquiG5ADsp4OeHT6eUig5zj7Jr3XCZ7k6zhQ31p69jt7xTal82YbUbiZAcE6vkdMIERor2vUywRfRdkcaZ/QvvZx0Dq2Ko72RKRE4qAdpdnyI9sALzW5Oc4WEKSEniJ+H2wJse4O6++SdjQInvj2mJpXboybFYs4uCZ8o6GKCHkg==
X-OriginatorOrg: it.aoyama.ac.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 0706ec98-3dfe-4a66-a0a2-08db040f4902
X-MS-Exchange-CrossTenant-AuthSource: TYAPR01MB5689.jpnprd01.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2023 04:46:30.1342 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: e02030e7-4d45-463e-a968-0290e738c18e
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Mc7quNvoJAuwd66PPG1tQllr9CeLAhfQtwAKoIzV1AOcwM0Ko6P3jLz+++ARoSGfK77fISgf48OMTyQVQ7ITlw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB8315
Archived-At: <https://mailarchive.ietf.org/arch/msg/httpapi/u2eaKIJOnJfyHJhsojQ2FS8daZI>
Subject: Re: [httpapi] Structured Fields for HTTP APIs
X-BeenThere: httpapi@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Building Blocks for HTTP APIs <httpapi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/httpapi>, <mailto:httpapi-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/httpapi/>
List-Post: <mailto:httpapi@ietf.org>
List-Help: <mailto:httpapi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/httpapi>, <mailto:httpapi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Feb 2023 04:46:40 -0000

Sorry to be late; some additional comments below.

On 2023-01-24 19:03, Julian Reschke wrote:
> On 23.01.2023 14:51, Darrel Miller wrote

>> The two contentious issues we have seen so far are:
>>
>>  1. Representing non-ascii characters.
> 
> Yes - I'm firmly on the side we should do this; but that discussion
> really needs to happen in the HTTP WG (which will take feedback from 
> here!).

> I don't think both issues have the same properties.

> Non-ASCII is way more complicated: depending on how you count, there are
> currently three different ways to do it proposed (binary,
> percent-escaping, RFC 8187), or even four (just don't; do not put
> human-readable strings into HTTP fields).
> 
> But here, for the three approaches you need out-of-band information to
> detect them. Generic tooling can't simply inspect the field value and
> decide "let's display this as string after unescaping/decoding" - at
> least not without heuristics.

There's additional information needed in most cases, namely what 
character encoding (charset) is being used. If we can nail that down to 
UTF-8 (and I haven't seen any other proposals), that's fine, but we need 
to be explicit.

Please also note that UTF-8 is relatively easy to detect with heuristics 
(see https://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf) But it 
would be much better to clearly separate actual binary data and text 
that includes non-ASCII.

Regards,   Martin.