Re: Link relation types for non-GET links

Klaus Hartke <hartke@tzi.org> Sat, 15 August 2015 15:15 UTC

Return-Path: <hartke@tzi.org>
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 01C141B2F2F for <link-relations@ietfa.amsl.com>; Sat, 15 Aug 2015 08:15:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.928
X-Spam-Level:
X-Spam-Status: No, score=-0.928 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HELO_EQ_DE=0.35] autolearn=no
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 ity3ey4KuDPV for <link-relations@ietfa.amsl.com>; Sat, 15 Aug 2015 08:15:08 -0700 (PDT)
Received: from mailhost.informatik.uni-bremen.de (mailhost.informatik.uni-bremen.de [IPv6:2001:638:708:30c9::12]) (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 3CDF21B2F2D for <link-relations@ietf.org>; Sat, 15 Aug 2015 08:15:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at informatik.uni-bremen.de
Received: from submithost.informatik.uni-bremen.de (submithost.informatik.uni-bremen.de [134.102.201.11]) by mailhost.informatik.uni-bremen.de (8.14.5/8.14.5) with ESMTP id t7FFF5v2009647 for <link-relations@ietf.org>; Sat, 15 Aug 2015 17:15:05 +0200 (CEST)
Received: from mail-ig0-f172.google.com (mail-ig0-f172.google.com [209.85.213.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by submithost.informatik.uni-bremen.de (Postfix) with ESMTPSA id 3mtlYh70krz4vL3 for <link-relations@ietf.org>; Sat, 15 Aug 2015 17:15:04 +0200 (CEST)
Received: by igfj19 with SMTP id j19so29610100igf.1 for <link-relations@ietf.org>; Sat, 15 Aug 2015 08:15:03 -0700 (PDT)
X-Received: by 10.50.79.197 with SMTP id l5mr8322828igx.28.1439651703603; Sat, 15 Aug 2015 08:15:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.79.111.209 with HTTP; Sat, 15 Aug 2015 08:14:24 -0700 (PDT)
In-Reply-To: <55CF2EBE.5060203@gmx.de>
References: <CAAzbHvb==Sn_4UUFHKs3H9GYbEfiX=TUjv4FSmNi9R4NEB+DvQ@mail.gmail.com> <CAPW_8m5CU++j=8tNBK1Q7KszxsfORnK1-6mxcgUwz9X2R2JTyA@mail.gmail.com> <CAAzbHvZGYGNOkuAkc7Fu29maDcbjSf_o54q93Xa+Ggk_fkGHAw@mail.gmail.com> <55CC8C1D.9060900@gmx.de> <CAAzbHva19zw8tzKxSxhMFUSV0RLMFjq94Pb5Z4mc8GseEgrkBw@mail.gmail.com> <55CF2EBE.5060203@gmx.de>
From: Klaus Hartke <hartke@tzi.org>
Date: Sat, 15 Aug 2015 17:14:24 +0200
Message-ID: <CAAzbHvaTmB4Qf8XQR-55Eop62rHEnV18bdDOqxSq4UEMHKh-xg@mail.gmail.com>
Subject: Re: Link relation types for non-GET links
To: Julian Reschke <julian.reschke@gmx.de>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/link-relations/cYqOnTo6CkwuWdcaODNrs22yuqQ>
Cc: link-relations <link-relations@ietf.org>
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: Sat, 15 Aug 2015 15:15:10 -0000

Julian Reschke wrote:
> The link relation by definition can not be "unsafe".

Ah, terminology. I meant to say that there are links with link
relation types that indicate that the client should use a method other
than GET when following the link ("non-GET link" for short). If these
have the same syntactic form as "GET links" in a representation, and a
spider does not know the link relation type, the spider does not know
which method to use to follow the link. However, if they have distinct
syntactic forms, a spider could at least follow the "GET links", even
without understanding the link semantics in detail. This seems to be a
useful feature.

(BTW, there is a section titled "Unsafe Link Relations" in the RESTful
Web APIs book [1].)

> The link is always safe; it's the method applied to the link target which
> might not.

Maybe it's then a good idea to find better terms than "safe" and
"unsafe" (or "GET" and "non-GET") to refer to different types of
links. I hope we can agree that there are two types of links:

- Links that cause a transition in the client-side application state
when followed, and
- Links that cause a transition in the server-side resource state when followed.

I'm calling these "links" and "forms" in my draft [2], respectively,
but I'm happy to switch to other terms if there is consensus on how
they should be called.

Klaus

[1] http://restfulwebapis.com/
[2] https://tools.ietf.org/html/draft-hartke-core-apps-01#section-2.4