Re: [Ietf-carddav] Comments on draft-daboo-carddav-02
Julian Reschke <julian.reschke@gmx.de> Mon, 23 July 2007 10:46 UTC
Return-Path: <julian.reschke@gmx.de>
X-Original-To: ietf-carddav@osafoundation.org
Delivered-To: ietf-carddav@osafoundation.org
Received: from laweleka.osafoundation.org (laweleka.osafoundation.org [204.152.186.98]) by leilani.osafoundation.org (Postfix) with ESMTP id 7AE1D7FFC4 for <ietf-carddav@osafoundation.org>; Mon, 23 Jul 2007 03:46:44 -0700 (PDT)
Received: from localhost (laweleka.osafoundation.org [127.0.0.1]) by laweleka.osafoundation.org (Postfix) with ESMTP id 5C5891421FF for <ietf-carddav@osafoundation.org>; Mon, 23 Jul 2007 03:45:49 -0700 (PDT)
X-Virus-Scanned: by amavisd-new and clamav at osafoundation.org
X-Spam-Score: -0.924
X-Spam-Level:
X-Spam-Status: No, score=-0.924 tagged_above=-50 required=4 tests=[AWL=0.398, BAYES_00=-2.599, FORGED_RCVD_HELO=0.135, SPF_FAIL=1.142]
Received: from laweleka.osafoundation.org ([127.0.0.1]) by localhost (laweleka.osafoundation.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0eeu0EpG4Qkv for <ietf-carddav@osafoundation.org>; Mon, 23 Jul 2007 03:45:47 -0700 (PDT)
Received: from mail205c25.carrierzone.com (mail205c25.carrierzone.com [64.29.147.87]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by laweleka.osafoundation.org (Postfix) with ESMTP id 1B4881421FD for <ietf-carddav@osafoundation.org>; Mon, 23 Jul 2007 03:45:46 -0700 (PDT)
X-Authenticated-User: master.tencoassemblies.com
Received: from TENCOSERVER.TencoAssembliesInc.local (static-68-162-87-75.phil.east.verizon.net [68.162.87.75]) (authenticated bits=0) by mail205c25.carrierzone.com (8.13.6.20060614/8.13.1) with ESMTP id l6NAjfMK006452; Mon, 23 Jul 2007 10:45:45 GMT
Received: from TENCOSERVER.TencoAssembliesInc.local ([10.0.0.2]) by TENCOSERVER.TencoAssembliesInc.local with Microsoft SMTPSVC(5.0.2195.6713); Mon, 23 Jul 2007 06:45:42 -0400
Received: by TENCOSERVER.TencoAssembliesInc.local (Microsoft Connector for POP3 Mailboxes 5.00.2195) with SMTP (Global POP3 Download) id MSG07232007-064521-14891.MMD@TencoAssembliesInc.local; Mon, 23 Jul 2007 06:45:21 -0400
X-From_: w3c-dist-auth-request@frink.w3.org Sun Jul 22 14:33:01 2007
X-Envelope-From: w3c-dist-auth-request@frink.w3.org
Received: from frink.w3.org (frink.w3.org [128.30.52.16]) by mail153c25.carrierzone.com (8.13.6.20060614/8.13.1) with ESMTP id l6MEWxcp015915 for <JTentilucci@tencoassemblies.com>; Sun, 22 Jul 2007 14:33:01 GMT
Received: from lists by frink.w3.org with local (Exim 4.50) id 1ICcSN-00007H-So for w3c-dist-auth-dist@listhub.w3.org; Sun, 22 Jul 2007 14:30:47 +0000
Received: from aji.w3.org ([133.27.228.225]) by frink.w3.org with esmtp (Exim 4.50) id 1ICcSK-00006d-BL for w3c-dist-auth@listhub.w3.org; Sun, 22 Jul 2007 14:30:44 +0000
Received: from mail.gmx.net ([213.165.64.20]) by aji.w3.org with smtp (Exim 4.63) (envelope-from <julian.reschke@gmx.de>) id 1ICcS7-0007Kv-3A for w3c-dist-auth@w3.org; Sun, 22 Jul 2007 14:30:43 +0000
Received: (qmail invoked by alias); 22 Jul 2007 14:30:19 -0000
Received: from p508FACDE.dip0.t-ipconnect.de (EHLO [192.168.178.22]) [80.143.172.222] by mail.gmx.net (mp049) with SMTP; 22 Jul 2007 16:30:19 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1/x5QUQVmrx2bjNrTLCf5oa/r40+jjfdg8n9kKDoI w/dlmYtfm8UgpX
Message-ID: <46A369EE.8050303@gmx.de>
Date: Sun, 22 Jul 2007 16:30:06 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.4) Gecko/20060516 Thunderbird/1.5.0.4 Mnenhy/0.7.4.666
MIME-Version: 1.0
To: w3c-dist-auth@w3.org
References: <4699F52B.10101@gmx.de> <DA70918551A4706E579F3829@caldav.corp.apple.com> <469B8976.9040402@jackpot.uk.net> <C4E535EC204E5BF24F6076F0@caldav.corp.apple.com> <469B91A2.5000002@jackpot.uk.net> <469B9319.7090204@gmx.de> <6A114647AE869FB6B3252EDC@caldav.corp.apple.com> <9FCFEB85-5FCE-4F4A-8724-C2642E17943F@osafoundation.org> <469BA088.3060709@gmx.de>
In-Reply-To: <469BA088.3060709@gmx.de>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Received-SPF: pass
X-SPF-Guess: pass
X-W3C-Hub-Spam-Status: No, score=-2.6
X-W3C-Scan-Sig: aji.w3.org 1ICcS7-0007Kv-3A a2472bd72d7c7c0e7978f499404bdcb6
X-Original-To: w3c-dist-auth@w3.org
Subject: Re: [Ietf-carddav] Comments on draft-daboo-carddav-02
X-Archived-At: http://www.w3.org/mid/46A369EE.8050303@gmx.de
Resent-From: w3c-dist-auth@w3.org
X-Mailing-List: <w3c-dist-auth@w3.org> archive/latest/12746
X-Loop: w3c-dist-auth@w3.org
Sender: w3c-dist-auth-request@w3.org
Resent-Sender: w3c-dist-auth-request@w3.org
Precedence: list
Resent-Message-Id: <E1ICcSN-00007H-So@frink.w3.org>
Resent-Date: Sun, 22 Jul 2007 14:30:47 +0000
X-Antivirus: Scanned by F-Prot Antivirus (http://www.f-prot.com)
X-OriginalArrivalTime: 23 Jul 2007 10:45:42.0162 (UTC) FILETIME=[9DAC0720:01C7CD16]
Cc: ietf-carddav@osafoundation.org
X-BeenThere: ietf-carddav@osafoundation.org
X-Mailman-Version: 2.1.5
List-Id: ietf-carddav.osafoundation.org
List-Unsubscribe: <http://lists.osafoundation.org/cgi-bin/mailman/listinfo/ietf-carddav>, <mailto:ietf-carddav-request@osafoundation.org?subject=unsubscribe>
List-Archive: <http://lists.osafoundation.org/pipermail/ietf-carddav>
List-Post: <mailto:ietf-carddav@osafoundation.org>
List-Help: <mailto:ietf-carddav-request@osafoundation.org?subject=help>
List-Subscribe: <http://lists.osafoundation.org/cgi-bin/mailman/listinfo/ietf-carddav>, <mailto:ietf-carddav-request@osafoundation.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Jul 2007 10:46:44 -0000
Julian Reschke wrote: > ... >> We still don't have the ability to synchronize property values in >> WebDAV. We could start designing that, but there's not a strong call >> to, unless we start getting confused and put data into the metadata. > > That's a separate issue that should be solved. As a matter of fact, I > think I've got a good idea to address this and other related things, but > I didn't have time so far to write it down (famous last words, I know). > ... OK, in the meantime I've spent some time on a proposal, see <http://greenbytes.de/tech/webdav/draft-reschke-http-get-location-latest.html>. Essentially it's based on the fact that PROPFIND/REPORT/SEARCH are safe methods, but that the information they provide is "off" the bookmarkable and cacheable web. So let's try to fix that. A new entity header would *allow* the server to advertise that location, for instance (<http://greenbytes.de/tech/webdav/draft-reschke-http-get-location-latest.html#examples>): ----- A.1. WebDAV Collection Membership In this example the client uses the WebDAV PROPFIND method ("HTTP Extensions for Web Distributed Authoring and Versioning", [RFC4918], Section 9.1) to get a list of all collection members, along with their DAV:resourcetype property ([RFC4918], Section 15.9): >>Request PROPFIND /collection/ HTTP/1.1 Host: example.com Depth: 1 Content-Type: application/xml <propfind xmlns="DAV:"> <prop> <resourcetype/> </prop> </propfind> The response contains the requested information, plus the GET- Location header, identifying a separate resource which can provide the same information using the HTTP GET method: >>Response HTTP/1.1 207 Multi-Status Content-Type: application/xml GET-Location: <http://example.com/collection/;members>; etag="123"; max-age=3600 <multistatus xmlns="DAV":> <response> <href>/collection/</href> <propstat> <prop> <resourcetype><collection/></resourcetype> </prop> <status>HTTP/1.1 200 OK</status> </propstat> </response> <response> <href>/collection/member</href> <propstat> <prop> <resourcetype/> </prop> <status>HTTP/1.1 200 OK</status> </propstat> </response> </multistatus> The responses provided the URL of a "gettable" resource, so when the client wishes to refresh the collection information, it uses that URI. The response contained the entity tag for the data being returned, so it can make the request conditional: >>Request GET /collection/;members HTTP/1.1 Host: example.com Accept: application/xml If-None-Match: "123" The information did not change, so the server does not need to return new data: >>Response HTTP/1.1 304 Not Modified Later on, the client tries again. This time, however, a second member has been added: >>Request GET /collection/;members HTTP/1.1 Host: example.com Accept: application/xml If-None-Match: "123" >>Response HTTP/1.1 200 OK Content-Type: application/xml ETag: "124" <multistatus xmlns="DAV":> <response> <href>/collection/</href> <propstat> <prop> <resourcetype><collection/></resourcetype> </prop> <status>HTTP/1.1 200 OK</status> </propstat> </response> <response> <href>/collection/member</href> <propstat> <prop> <resourcetype/> </prop> <status>HTTP/1.1 200 OK</status> </propstat> </response> <response> <href>/collection/member2</href> <propstat> <prop> <resourcetype/> </prop> <status>HTTP/1.1 200 OK</status> </propstat> </response> </multistatus> Finally, the collection has been removed by somebody else. The client tries a refresh: >>Request GET /collection/;members HTTP/1.1 Host: example.com Accept: application/xml If-None-Match: "124" >>Response HTTP/1.1 404 Not Found Note that it may be hard to compute strong entity tags for more complex PROPFIND responses. For instance, most properties depend on the state of the collection member, not the state of the collection itself, and thus the response will change even though the state of the collection itself did not change. This is why this extension leaves it to the server whether to return a GET-Location at all, and if so, whether to return cache validators along with it. ---- Feedback appreciated, Julian
- [Ietf-carddav] presentations today and other "wg"… Marc Blanchet
- [Ietf-carddav] charter comments Marc Blanchet
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Julian Reschke
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Julian Reschke
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Wilfredo Sánchez Vega
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Cyrus Daboo
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Julian Reschke
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Wilfredo Sánchez Vega
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Cyrus Daboo
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Julian Reschke
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Julian Reschke
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Cyrus Daboo
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Julian Reschke
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Cyrus Daboo
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Julian Reschke
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Julian Reschke
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Cyrus Daboo
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Julian Reschke
- Re: [Ietf-carddav] Comments on draft-daboo-cardda… Cyrus Daboo
- [Ietf-carddav] Comments on draft-daboo-carddav-02 Julian Reschke