Re: Proposed HTTP SEARCH method update

Julian Reschke <julian.reschke@gmx.de> Sun, 26 April 2015 09:21 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 (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A6FEB1A8711 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 26 Apr 2015 02:21:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.912
X-Spam-Level:
X-Spam-Status: No, score=-6.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 lJQG-Vy1acOg for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 26 Apr 2015 02:21:10 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D38821A8701 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 26 Apr 2015 02:21:10 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1YmIht-0003U6-Sx for ietf-http-wg-dist@listhub.w3.org; Sun, 26 Apr 2015 09:18:33 +0000
Resent-Date: Sun, 26 Apr 2015 09:18:33 +0000
Resent-Message-Id: <E1YmIht-0003U6-Sx@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.80) (envelope-from <julian.reschke@gmx.de>) id 1YmIhm-0003T4-6w for ietf-http-wg@listhub.w3.org; Sun, 26 Apr 2015 09:18:26 +0000
Received: from mout.gmx.net ([212.227.17.21]) by maggie.w3.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from <julian.reschke@gmx.de>) id 1YmIhk-0005IC-To for ietf-http-wg@w3.org; Sun, 26 Apr 2015 09:18:26 +0000
Received: from [192.168.2.177] ([93.217.121.83]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0MhQju-1Z08ae0Jrm-00Ma1Z; Sun, 26 Apr 2015 11:17:54 +0200
Message-ID: <553CAD43.4000202@gmx.de>
Date: Sun, 26 Apr 2015 11:17:55 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
MIME-Version: 1.0
To: "henry.story@bblfish.net" <henry.story@bblfish.net>, Mark Nottingham <mnot@mnot.net>
CC: James M Snell <jasnell@gmail.com>, ashok malhotra <ashok.malhotra@oracle.com>, ietf-http-wg@w3.org
References: <DEEC7135-C5AD-402C-B592-D9F735242C4A@bblfish.net> <5532C62B.3080108@oracle.com> <ABC8CB5C-0152-4CDD-ABA4-08878162B2E0@bblfish.net> <CABP7Rbf2sNq+HUTG1V769SGUN5SxvKMHi9VS2K3B-kZGDLcQPA@mail.gmail.com> <BA9C8760-E9D2-4139-ACD3-14B47106671A@mnot.net> <B2A55DFD-7847-461E-ADCB-7272B63E19B8@bblfish.net> <248DAEB5-D983-47A3-AB10-1393B4991868@mnot.net> <38B851F8-F102-40D1-927E-56698BC605E0@bblfish.net> <3C5DD81E-2D57-4DDD-860D-7B81C2DA7084@mnot.net> <E7294216-06F9-433C-8258-DDE11AD0A988@bblfish.net>
In-Reply-To: <E7294216-06F9-433C-8258-DDE11AD0A988@bblfish.net>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K0:Cdt2Rlad+zlE/BE5aOIAqrzff5lbeqqGZjYS7RJyo/UF1lQ/Zw1 lxIy/w0ecyn8CPEAyolmFynA9aYCLIwd7IE6nRTyQMKhkplNN4WcACaG3/v4zYHC6rql2iU WF6Oj1rtF9xAGUP2h4+xxgO+Kp+O/YfV7MUt7HTkxS7F2MBQnqkAEKcbuFbl4/CUa5OLsHy xWzcMejVZOIaHGGRjDp6Q==
X-UI-Out-Filterresults: notjunk:1;
Received-SPF: pass client-ip=212.227.17.21; envelope-from=julian.reschke@gmx.de; helo=mout.gmx.net
X-W3C-Hub-Spam-Status: No, score=-6.9
X-W3C-Hub-Spam-Report: AWL=0.128, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1YmIhk-0005IC-To 486e4f383fda05e8775caae0181d53f4
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Proposed HTTP SEARCH method update
Archived-At: <http://www.w3.org/mid/553CAD43.4000202@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/29389
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: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On 2015-04-26 07:40, henry.story@bblfish.net wrote:
> ...
> Great!  We are getting closer to the core of the problem, which I had tried to address earlier :-)
>
> I agree that HTTP caching should operate upon representations of resource state. My point it that SEARCH always returns a partial representation of the resource state, so that it should be cachable too. This means
> improving the caching stack so that it knows how to update partial representations.

And you seriously believe that people are going to upgrade their caching 
stack specifically for SEARCH?

> To illustrate the different cases, let us take the example from http://datatracker.ietf.org/doc/draft-snell-search-method/ . The resource <http://example.org/contacts> is a small table of contacts.
> Let us imagine that
>
> A. GET followed by SEARCH
> -------------------------
>
> 1. James makes a GET request on <http://example.org/contacts> via a cache C and C caches the returned  representation with etag1 ( and the same Location header )
> 2. Ashok then makes a conditional SEARCH request on <http://example.org/contacts> via the same cache C with etag1 too
>
> I think it is important that SEARCH guarantee the following:
>
> it should not be necessary for the cache C to send the search request all the way back to the server example.org if it knows the query lanuage used in the SEARCH request, because it should be able to answer that
> itself using the information from the GET in 1. above.

That not only implies that caches special-case the SEARCH method, but 
also know the semantics of SEARCH payloads.

> ...


I'd prefer to concentrate on the concrete method definition first.

As Mark said, once you leave the world of GET and HEAD, standard caches 
won't help you anymore.

Of course a server can indicate that a specific SEARCH response is 
indeed cacheable (cache-control!), but it's unlikely that generic caches 
will start to implement that.

If what's needed is a mechanism to discover GETtable resources that 
implement a specific query, something like 
<https://greenbytes.de/tech/webdav/draft-reschke-http-get-location-latest.html> 
might be needed.

Best regards, Julian