An idea for PUT where the server picks the name

Julian Reschke <julian.reschke@gmx.de> Wed, 30 July 2008 09:25 UTC

Return-Path: <w3c-dist-auth-request@listhub.w3.org>
X-Original-To: ietfarch-webdav-archive@core3.amsl.com
Delivered-To: ietfarch-webdav-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8582428C0F7 for <ietfarch-webdav-archive@core3.amsl.com>; Wed, 30 Jul 2008 02:25:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.299
X-Spam-Level:
X-Spam-Status: No, score=-6.299 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_34=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KD0zNA3x5VqM for <ietfarch-webdav-archive@core3.amsl.com>; Wed, 30 Jul 2008 02:25:00 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by core3.amsl.com (Postfix) with ESMTP id D125C3A6BCF for <webdav-archive@lists.ietf.org>; Wed, 30 Jul 2008 02:24:30 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.63) (envelope-from <w3c-dist-auth-request@listhub.w3.org>) id 1KO7tn-0007n2-22 for w3c-dist-auth-dist@listhub.w3.org; Wed, 30 Jul 2008 09:23:11 +0000
Received: from [128.30.52.63] (helo=bart.w3.org) by frink.w3.org with esmtp (Exim 4.63) (envelope-from <julian.reschke@gmx.de>) id 1KO7tm-0007mO-55 for w3c-dist-auth@listhub.w3.org; Wed, 30 Jul 2008 09:23:10 +0000
Received: from mail.gmx.net ([213.165.64.20]) by bart.w3.org with smtp (Exim 4.63) (envelope-from <julian.reschke@gmx.de>) id 1KO7td-0002z6-8F for w3c-dist-auth@w3.org; Wed, 30 Jul 2008 05:23:10 -0400
Received: (qmail invoked by alias); 30 Jul 2008 09:22:29 -0000
Received: from unknown (EHLO [130.129.22.156]) [130.129.22.156] by mail.gmx.net (mp031) with SMTP; 30 Jul 2008 11:22:29 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX19NfAkqeIRNLGq8Aqh0C0/HkJ8eY4Gq8Uim5MwLyg SlXzJoXLITCSe+
Message-ID: <489032D5.7070105@gmx.de>
Date: Wed, 30 Jul 2008 11:22:29 +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: WebDAV <w3c-dist-auth@w3.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
X-FuHaFi: 0.59
Received-SPF: pass
X-SPF-Guess: pass
X-W3C-Hub-Spam-Status: No, score=-1.1
X-W3C-Hub-Spam-Report: BAYES_05=-1.11, SPF_PASS=-0.001
X-W3C-Scan-Sig: bart.w3.org 1KO7td-0002z6-8F 2b86fd7a7c9f7c5c5c742605cd8e2416
X-Original-To: w3c-dist-auth@w3.org
Subject: An idea for PUT where the server picks the name
Archived-At: <http://www.w3.org/mid/489032D5.7070105@gmx.de>
Resent-From: w3c-dist-auth@w3.org
X-Mailing-List: <w3c-dist-auth@w3.org> archive/latest/12960
X-Loop: w3c-dist-auth@w3.org
Sender: w3c-dist-auth-request@w3.org
Resent-Sender: w3c-dist-auth-request@w3.org
Precedence: list
List-Id: <w3c-dist-auth.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Unsubscribe: <mailto:w3c-dist-auth-request@w3.org?subject=unsubscribe>
Resent-Message-Id: <E1KO7tn-0007n2-22@frink.w3.org>
Resent-Date: Wed, 30 Jul 2008 09:23:11 +0000

Hi,

I proposed an ADDMEMBER method some time ago 
(<http://greenbytes.de/tech/webdav/draft-reschke-http-addmember-00.html>), 
and one feedback I got was that it's not needed because it duplicates POST.

In fact, Atompub (RFC 5023) uses POST exactly this way.

My main concern with this approach is that clients in general do not 
know what the semantics of a POST will be, so the servers needs to tell 
them in some way. In HTML forms are used, in Atompub it's part of the 
contract for collections.

So how about something like this:

- define a new live property on collections, "post-location", containing 
an DAV:href element identifying a resource that the client can POST to

- servers that already use POST on collections would just assign a 
different URI for that service, others could just use the collection's URI

- POST would work as in AtomPub: post any type of content, server stores 
it, and returns new URI in Location header.

- we probably would also want to include the Slug header, as defined in 
<http://greenbytes.de/tech/webdav/rfc5023.html#rfc.section.9.7>.

(I recall people were unhappy with CalDAV requiring support for PUT, 
could this be useful over there as well?)

BR, Julian