Re: Link relation types for non-GET links

Erik Wilde <dret@berkeley.edu> Thu, 13 August 2015 22:11 UTC

Return-Path: <dret@berkeley.edu>
X-Original-To: link-relations@ietfa.amsl.com
Delivered-To: link-relations@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 99F761B3B6B for <link-relations@ietfa.amsl.com>; Thu, 13 Aug 2015 15:11:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.211
X-Spam-Level:
X-Spam-Status: No, score=-4.211 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, 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 YueDPWl3tFaK for <link-relations@ietfa.amsl.com>; Thu, 13 Aug 2015 15:11:16 -0700 (PDT)
Received: from cm02fe.IST.Berkeley.EDU (cm02fe.IST.Berkeley.EDU [169.229.218.143]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3CFD71B3B6A for <link-relations@ietf.org>; Thu, 13 Aug 2015 15:11:16 -0700 (PDT)
Received: from 205-237-53-216.static.cgocable.ca ([205.237.53.216] helo=dretair11.local) by cm02fe.ist.berkeley.edu with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.76) (auth plain:dret@berkeley.edu) (envelope-from <dret@berkeley.edu>) id 1ZQ0iQ-0006fc-7F; Thu, 13 Aug 2015 15:11:15 -0700
Message-ID: <55CD15FF.2060805@berkeley.edu>
Date: Thu, 13 Aug 2015 18:11:11 -0400
From: Erik Wilde <dret@berkeley.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
MIME-Version: 1.0
To: Klaus Hartke <hartke@tzi.org>, mike amundsen <mamund@yahoo.com>, link-relations <link-relations@ietf.org>
Subject: Re: Link relation types for non-GET links
References: <CAAzbHvb==Sn_4UUFHKs3H9GYbEfiX=TUjv4FSmNi9R4NEB+DvQ@mail.gmail.com> <CAPW_8m5CU++j=8tNBK1Q7KszxsfORnK1-6mxcgUwz9X2R2JTyA@mail.gmail.com> <CAAzbHvZGYGNOkuAkc7Fu29maDcbjSf_o54q93Xa+Ggk_fkGHAw@mail.gmail.com>
In-Reply-To: <CAAzbHvZGYGNOkuAkc7Fu29maDcbjSf_o54q93Xa+Ggk_fkGHAw@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/link-relations/tb3dz5-Az7vRQMWnw6Iv-d1CptI>
X-BeenThere: link-relations@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <link-relations.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/link-relations>, <mailto:link-relations-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/link-relations/>
List-Post: <mailto:link-relations@ietf.org>
List-Help: <mailto:link-relations-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/link-relations>, <mailto:link-relations-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Aug 2015 22:11:17 -0000

hello klaus.

On 2015-08-13 08:03, Klaus Hartke wrote:
> Mike Amundsen wrote:
>> the IANA reg'd values "edit" and "edit-media" support unsafe (non-GET)
>> actions and are documented in RFC5023[1].
> So, is that the preferred way of doing things? Would it make sense to
> register a bunch of generic non-GET link relation types, like
> "create", "execute", "update", "delete"?

not any more than it would make sense to have a generic GET relation 
type that says "read"... link relation types should primarily indicate 
why somebody would want to follow a link. in HTTP-land, that may 
sometime require using methods other than GET, so that the uniform 
interface is used correctly. if so, the link relation definition (or the 
service making use of it) should say so, so that clients know how to 
engage in the interaction.

> It seems the syntax for links in RFC5988 and HAL needs to be extended
> for non-GET links to include a description of the representation that
> the service accepts when following the link (e.g., accepted media type
> and/or a set of form fields).

that get's rather complicated rather quickly. it has been attempted a 
couple of times, including by myself...

https://github.com/dret/I-D/tree/master/link-desc

the problem is where to draw the line, and that is hard to do outside of 
specific scenarios. for example, for W3C's LDP a simple HTTP header 
field did the trick (instead of embedding that info into the payload), 
so that's what they are using:

http://www.w3.org/TR/ldp/#header-accept-post

but that's quite a bit more limited what you seem to have in mind. 
however, defining a general-purpose format that captures all possible 
ways in which link relations may have rules associated with them is 
hard, and personally, my link description mentioned above draft has 
stalled because without a better picture of what should and shouldn't be 
covered, this is a typical "designing into the void" scenario.

cheers,

dret.

-- 
erik wilde | mailto:dret@berkeley.edu  -  tel:+1-510-2061079 |
            | UC Berkeley  -  School of Information (ISchool) |
            | http://dret.net/netdret http://twitter.com/dret |