RE: How to express no matching results in HTTP SEARH method?
Mike Bishop <mbishop@evequefou.be> Thu, 05 November 2020 19:39 UTC
Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 644F73A19DC for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 5 Nov 2020 11:39:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.648
X-Spam-Level:
X-Spam-Status: No, score=-2.648 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=evequefou.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 151zJ025Z9IO for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 5 Nov 2020 11:39:45 -0800 (PST)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (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 430FD3A19DA for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 5 Nov 2020 11:39:45 -0800 (PST)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1kal57-0003Z3-Ld for ietf-http-wg-dist@listhub.w3.org; Thu, 05 Nov 2020 19:38:01 +0000
Resent-Date: Thu, 05 Nov 2020 19:38:01 +0000
Resent-Message-Id: <E1kal57-0003Z3-Ld@lyra.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mbishop@evequefou.be>) id 1kal55-0003YA-Pj for ietf-http-wg@listhub.w3.org; Thu, 05 Nov 2020 19:37:59 +0000
Received: from mail-dm6nam10on2090.outbound.protection.outlook.com ([40.107.93.90] helo=NAM10-DM6-obe.outbound.protection.outlook.com) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mbishop@evequefou.be>) id 1kal53-0007wA-4v for ietf-http-wg@w3.org; Thu, 05 Nov 2020 19:37:59 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X6aH4An/gt/B09+Lm2zzmKBxOOqenF4wsxWDTEOT8MQ1eYGHwPc4mAZjCJOL32WBNpqiVbeN7IhLJaBzWf/mUUwAwQpTXSO/mnXpqMZyBWhcZgekaDpeWuTEFPt48NuQjZ2AWWJFCJcQR/haEe387o5JmsIa+RUSI5/HkWEnDdBm/+PQpL1awj8+tU5nmWdycDzGOxsdp6fR0SQVEtHAMdEAr9OIIsii2BKkxow24mUGeBbab6yVCVZL5w6gc6G/UjzT9VShVrz7DwUdwRP6STeFcJFRsOOgq1tSCzJbeFqIdOsnKHh5jdtTMFfhZQL4m3dTY06DblYqKgDpNe59rA==
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-SenderADCheck; bh=vx/CRfQTEwEoq1y4vSRu0W4O3gPh2MAOaycUubV7fQU=; b=bgw9kK+dk6nf4hIA0iXXXnEPIT2RFhr5qq26HBMkmjAylkde7BKgW0Bop6vpPliPN3mmKTPdtc/fKUjR+Q3hWfwp5TcSdbIA72wu2/nW7djK1X/13aHBJVoOA+wzOoQnEtKaOzl0VtIIMt9QIrmJE1VjmfOU1TFe1HTgjXMj1C/q5HieYxax5WbpMnYOBufliAMez42GOJK6M/V0GEZH8wamgcKwXRywUAf3naybY6m17yYtTAClJYskkvzdfhUXdzjOcvmGw+roQLeGOya4iUdoS+qTqQaxBncTOn5NC5II4jldNGgbD7yDgG3bDZ06rYvxdPEEPudCMUZN2EvPvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=evequefou.be; dmarc=pass action=none header.from=evequefou.be; dkim=pass header.d=evequefou.be; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=evequefou.onmicrosoft.com; s=selector2-evequefou-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vx/CRfQTEwEoq1y4vSRu0W4O3gPh2MAOaycUubV7fQU=; b=F0UWO+v51IGXstgU66iJ9cum1stPNC445th/IJoHU/QSOLkWFLHwzKHPzkXaFLOhlmYna061RJfOkBbCYeDKl6dWYK1DQXwz3PjMCK9wy5mTxGAi71CsSN/9iUcErGMWqLefm/Uhkqvs0jbQcy+hALYLP6C6mPsxxVnz1LyF364=
Received: from CH2PR22MB2086.namprd22.prod.outlook.com (2603:10b6:610:8c::8) by CH2PR22MB2038.namprd22.prod.outlook.com (2603:10b6:610:5c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3541.21; Thu, 5 Nov 2020 19:37:44 +0000
Received: from CH2PR22MB2086.namprd22.prod.outlook.com ([fe80::5c87:a789:7ed6:8687]) by CH2PR22MB2086.namprd22.prod.outlook.com ([fe80::5c87:a789:7ed6:8687%3]) with mapi id 15.20.3541.021; Thu, 5 Nov 2020 19:37:43 +0000
From: Mike Bishop <mbishop@evequefou.be>
To: "Roy T. Fielding" <fielding@gbiv.com>, Ben Schwartz <bemasc@google.com>
CC: Stephane Bortzmeyer <bortzmeyer@nic.fr>, Sawood Alam <ibnesayeed@gmail.com>, Julian Reschke <julian.reschke@gmx.de>, ietf-http-wg <ietf-http-wg@w3.org>
Thread-Topic: How to express no matching results in HTTP SEARH method?
Thread-Index: AQHWslRFgH9VAGnEBUitB0wJXyHb/6m37+mAgAAHN4CAAWuqgIAAaf6AgAACcACAABHZgIAADnZg
Date: Thu, 05 Nov 2020 19:37:43 +0000
Message-ID: <CH2PR22MB20861A3757E53A0AF992F61EDAEE0@CH2PR22MB2086.namprd22.prod.outlook.com>
References: <CALOnmf-e24a=9ScKg3M==cSpG8TMd1JnMiecWgUMtD0a17xRgA@mail.gmail.com> <a599a2ba-ad97-b87d-6762-422cde1c1a41@gmx.de> <CALOnmf9fphWhDE+AceBduMKEx6qNFUeVtcZ-nVyVeTs_hOp=RQ@mail.gmail.com> <20201105110635.GA9397@sources.org> <0B420CEF-BE1D-4FCF-B205-B64CC99568C2@gbiv.com> <CAHbrMsArA6j8_q-GXkbgdu9uCBBOMdrr6gRSV=-K68NUoXyi4w@mail.gmail.com> <58400266-E730-473E-A1E4-B6894F9C02D9@gbiv.com>
In-Reply-To: <58400266-E730-473E-A1E4-B6894F9C02D9@gbiv.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: gbiv.com; dkim=none (message not signed) header.d=none;gbiv.com; dmarc=none action=none header.from=evequefou.be;
x-originating-ip: [72.49.212.17]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 66378a14-35f2-4c40-1419-08d881c24417
x-ms-traffictypediagnostic: CH2PR22MB2038:
x-microsoft-antispam-prvs: <CH2PR22MB203899112BADBE770BB1F44DDAEE0@CH2PR22MB2038.namprd22.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: QSuMuDrJxTND0LFRNFRSjs4kYk6em1Rvd9G+GJAw3hh4tdFubJj9saSsUB8msmpAvJ/xblaIwsk14pGTeDhYbcf+xyCpt870ClCxbnc4sHDGLBfwZL/wVMRRmiBtTtiPibvYJ3ZuDPtpwEe/r/veKwqOQIvSLrb7WSBd4wWDq2DqTKLNQ/Glpn8evLF6hHw38OvS0p5BgSrRFKsM8sWO9O5GXCU+rRYKRUS/A7A3tpXycOia3p+jz/wWDTcYTi7RY7lcnrOwlFvs1ayTRw0qyekxaUzTo2a7TCgjkUu0iooE8UxcGl5iBzjn+1+ZD/cN9ccZdERdG1YJBC9+PV+GEA==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR22MB2086.namprd22.prod.outlook.com;PTR:;CAT:NONE;SFS:(39830400003)(366004)(136003)(346002)(396003)(376002)(26005)(110136005)(54906003)(8936002)(316002)(478600001)(86362001)(8676002)(5660300002)(71200400001)(4326008)(53546011)(52536014)(99936003)(55016002)(33656002)(9686003)(7696005)(64756008)(66556008)(186003)(66946007)(66476007)(2906002)(6506007)(76116006)(66446008)(66616009)(83380400001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata: uvQS1YElYe4uP0D52PUcfxtraS3giT5VAqfHVFZoAg0TIluflVVsq60eygFkmSUCQgSo3hXylI8LdQZTf2iUdn7D+ZM7XTnlmMIYqZeMx4BNoc70CNGCvlAsK8sq5MRksgUOwsh0ZBPd004iS+p7X52mxJmQBFFf9tTxqOQkNpxqTCRMlTxwBAGgLPaG1iMg522Otim7r9Lz+On0pg3feLuTiLHzyHp58ewWRvg353Yxl2qmDKY/20ffRnOmGV2+wZAhRnInIIz9Q0Ef5uC7YUI7hEKe4eIZNf2lvoFWEFIsoimetrCO0N/lcz8wHQTw4f1/yXjAHllPVwwJ44etBdKIVU+UcusJr9bxfK+zFjumbQyaS7b3P1E+hEmKyMV1tkcdjmmMjhdin5TLi2M4rJgCGYGlNdp4TN4SiGnq+7jMv+B+uKQ24IX8s/SSfIKsLB4T/yUOBeZ9qByT7nlw5eSEWR2QGtq3aErikUk8C9dRTAJHBHDFmC8+94jbx6Q867tzctLd8KcaV8V/6Oyt5ptPvXthptihd2x0PQnY2iXfs01KOaiL6qOOAAqn8Tj/S49/b7YzTSxKWByS7zQtleVt94lv99J9VW0LAZiR4Jny4U7Is8C5wd16R8JYGTciIxtnxV5KDblMxweKyXm4Zg==
x-ms-exchange-transport-forked: True
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="2.16.840.1.101.3.4.2.1"; boundary="----=_NextPart_000_001E_01D6B381.37BDD870"
MIME-Version: 1.0
X-OriginatorOrg: evequefou.be
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH2PR22MB2086.namprd22.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 66378a14-35f2-4c40-1419-08d881c24417
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2020 19:37:43.6776 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 41eaf50b-882d-47eb-8c4c-0b5b76a9da8f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5AWJ6kOHf6KcjJExjfdZ7HblntGkzVCi+Lc+Zs530bwQCTsApoJoxrj4HNtU5QauXAgziDd92bxTmQzGuydaWw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR22MB2038
Received-SPF: pass client-ip=40.107.93.90; envelope-from=mbishop@evequefou.be; helo=NAM10-DM6-obe.outbound.protection.outlook.com
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1kal53-0007wA-4v d3add469ea3a069143db9aacb17ca8e1
X-Original-To: ietf-http-wg@w3.org
Subject: RE: How to express no matching results in HTTP SEARH method?
Archived-At: <https://www.w3.org/mid/CH2PR22MB20861A3757E53A0AF992F61EDAEE0@CH2PR22MB2086.namprd22.prod.outlook.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/38187
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Roy, you seem to be disagreeing, but then presenting a detailed argument for the same position you're disagreeing with. If the search was successfully performed on a resource, and the result of the search is an empty set, that's a successful operation (2XX). If the search could not be performed for some reason, that's an error (4XX, 5XX). I'm confused. Can you clarify why you don't believe that aligns with "if a search is successfully performed, then HTTP has succeeded"? (I disagree with you slightly about "find some among many," because the resource to be searched could be present but empty. I think the differentiator is whether the targeted resource exists, regardless of what it contains.) -----Original Message----- From: Roy T. Fielding <fielding@gbiv.com> Sent: Thursday, November 5, 2020 1:39 PM To: Ben Schwartz <bemasc@google.com> Cc: Stephane Bortzmeyer <bortzmeyer@nic.fr>; Sawood Alam <ibnesayeed@gmail.com>; Julian Reschke <julian.reschke@gmx.de>; ietf-http-wg <ietf-http-wg@w3.org> Subject: Re: How to express no matching results in HTTP SEARH method? > On Nov 5, 2020, at 9:34 AM, Ben Schwartz <bemasc@google.com> wrote: > > This was extensively debated during the DoH process. I think the outcome in RFC 8484 reasonably applies here too: if a search is successfully performed, then HTTP has succeeded. If the search result would benefit from some explanatory metadata, that can be handled in the response body, and the response format should be rich enough to express it. I don't care how extensively it was debated within some other WG. It's not their call. In both cases, that rationale is bogus. HTTP is an application-layer protocol and the responses must reflect those semantics within the status code whether the resource is a file, DNS entry, or search result. It allows clients to be independent of the resource types and intermediaries to work without application knowledge. There are some searches that will return zero results and be considered a success. That's fine -- it depends on how the search is phrased. Zero results is not a "not found" error when the search is "find some among many". 404 would only occur if the request target is the error. In contrast, failure codes on unsuccessful searches, like bad query syntax, bad gateways, and timeouts (409, 412, 422, 5xx, etc.), are not successful responses and must be reflected in the HTTP status code. If the spec says otherwise, then that spec is in error beyond its own scope. Specifications that claim to be based on HTTP must adhere to HTTP's requirements. Specifications that claim something bogus have a conflict that they must address, either by fixing their spec or by not claiming they are based on HTTP. ....Roy
- How to express no matching results in HTTP SEARH … Sawood Alam
- Re: How to express no matching results in HTTP SE… Julian Reschke
- Re: How to express no matching results in HTTP SE… Julian Reschke
- Re: How to express no matching results in HTTP SE… Sawood Alam
- Re: How to express no matching results in HTTP SE… Poul-Henning Kamp
- Re: How to express no matching results in HTTP SE… Julian Reschke
- Re: How to express no matching results in HTTP SE… Poul-Henning Kamp
- Re: How to express no matching results in HTTP SE… Julian Reschke
- Re: How to express no matching results in HTTP SE… James M Snell
- Re: How to express no matching results in HTTP SE… Roberto Polli
- Re: How to express no matching results in HTTP SE… Julian Reschke
- Re: How to express no matching results in HTTP SE… Poul-Henning Kamp
- Re: How to express no matching results in HTTP SE… Willy Tarreau
- Re: How to express no matching results in HTTP SE… Austin Wright
- Re: How to express no matching results in HTTP SE… Carsten Bormann
- Re: How to express no matching results in HTTP SE… Austin Wright
- Re: How to express no matching results in HTTP SE… Henry Story
- Re: How to express no matching results in HTTP SE… Willy Tarreau
- Re: How to express no matching results in HTTP SE… Stephane Bortzmeyer
- Re: How to express no matching results in HTTP SE… Julian Reschke
- Re: How to express no matching results in HTTP SE… Roy T. Fielding
- Re: How to express no matching results in HTTP SE… Ben Schwartz
- Re: How to express no matching results in HTTP SE… Roy T. Fielding
- RE: How to express no matching results in HTTP SE… Mike Bishop
- Re: How to express no matching results in HTTP SE… Roy T. Fielding