Re: Link relation types for non-GET links
mike amundsen <mamund@yahoo.com> Sat, 15 August 2015 15:47 UTC
Return-Path: <mamund@yahoo.com>
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 6BFA71B2F7C for <link-relations@ietfa.amsl.com>; Sat, 15 Aug 2015 08:47:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.487
X-Spam-Level:
X-Spam-Status: No, score=-1.487 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, J_CHICKENPOX_38=0.6, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 HOc6WPBhw2vo for <link-relations@ietfa.amsl.com>; Sat, 15 Aug 2015 08:47:36 -0700 (PDT)
Received: from nm17-vm2.bullet.mail.ne1.yahoo.com (nm17-vm2.bullet.mail.ne1.yahoo.com [98.138.91.93]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5AF441B2F7B for <link-relations@ietf.org>; Sat, 15 Aug 2015 08:47:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1439653655; bh=VLkWOLDO2RWx7x4sbntIPPp7wvEypRAfwSazKJQ/S0c=; h=In-Reply-To:References:From:Date:Subject:To:Cc:From:Subject; b=Al+Q+gx1VbnJ95nFniu6r5HOw+h8gehybZKvPP5nnO7zynyEeAukbFstI+AjhnuyCbdmFJgoLmdQT8Ev70wr+FIMsfawCxoi0TBm1Lpb/W/fVQT1lavH6Zc5QqndHOHM0asfBl6vzuxQZV7ZTwX3Uss4B/C+Y9VApP59om0s8MGIARbiz7LCTj+/ShCNlptQQmIwICViLUHO1QBuQ1vl+LFTPVa2eou0pb0Q0bs20Mfspk1qNw98gE6VKYMZFW8SyGvoMWZAWc8CPDa4vyogzNcL3GvxdEPtyggBjV+ON6leOVh0UIYJ0TRtHIoHB9pkElpIY+PwDtAuPd5fb58Y8A==
Received: from [98.138.226.176] by nm17.bullet.mail.ne1.yahoo.com with NNFMP; 15 Aug 2015 15:47:35 -0000
Received: from [98.138.226.125] by tm11.bullet.mail.ne1.yahoo.com with NNFMP; 15 Aug 2015 15:47:35 -0000
Received: from [127.0.0.1] by smtp204.mail.ne1.yahoo.com with NNFMP; 15 Aug 2015 15:47:35 -0000
X-Yahoo-Newman-Id: 698589.29046.bm@smtp204.mail.ne1.yahoo.com
X-Yahoo-Newman-Property: ymail-3
X-YMail-OSG: 13rRBbEVM1mp_d5hM0HZUaJqbOcbwNSRrDTwHsvbR5iLi7u 2sMTxqGPwE7mPoouB0yF4D9AQVNFI..twSwCRg8lKcwXk.CDYDDu6yVRDimA _u74jTllWRYQisThLD5JUEBBYCg6IEoH.iFz44AowjAIKdX_2FOqooThBq2Q msqwDWsrXTkjLmsGKGx1Y16gzRNlYmx2SGnms4f8VhJo9ALrajCAdymo8ip9 _eejnzjheByq47Fk0DToy13k7brDGd7ZRsodeO9ejbv6.7MmLvHxNs0XF1BK pjL2l8Be8SKIj6y4Nvywph_i08MwcqGm7TW_wjM_BXzZSDLIorPcyrKvSby_ IV.Zl1B6eseGiQXUq6BmqKDS1B5HtK_CNG_2bRezoZG4PZbbiRaDK474F6vm tXBHprv1aAhS2KfTA1XiiMOFzgvGrRnyf6y6qlr4jNjaY2JXbDl8TqMPXmKm jzGglIN.EQ0phBydk40shCrnm9VmQup1WNi0rxJa1mC7i5nAvQPoc3jxpn8Y 4.kCZcXb8M65R1.wwTB9Jwqr.cpL1tQ--
X-Yahoo-SMTP: i12ABOmswBAkPG1PnjmsmmFRWA--
Received: by igbjg10 with SMTP id jg10so29950759igb.0 for <link-relations@ietf.org>; Sat, 15 Aug 2015 08:47:35 -0700 (PDT)
X-Gm-Message-State: ALoCoQkiUQNkzmz9yhY34WwNHPSfR/bAP71Wt2sOa8pLleVfmSbxl7uenlLUB01QefCEw8p36N7i
X-Received: by 10.50.143.2 with SMTP id sa2mr7044785igb.92.1439653655102; Sat, 15 Aug 2015 08:47:35 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.79.21.195 with HTTP; Sat, 15 Aug 2015 08:47:15 -0700 (PDT)
In-Reply-To: <CAAzbHvaTmB4Qf8XQR-55Eop62rHEnV18bdDOqxSq4UEMHKh-xg@mail.gmail.com>
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> <CAAzbHvaTmB4Qf8XQR-55Eop62rHEnV18bdDOqxSq4UEMHKh-xg@mail.gmail.com>
From: mike amundsen <mamund@yahoo.com>
Date: Sat, 15 Aug 2015 11:47:15 -0400
Message-ID: <CAPW_8m58YoAVcXo9Z48deSEuy9oo26BeS-hrcN2g=mkOCS9vDA@mail.gmail.com>
Subject: Re: Link relation types for non-GET links
To: Klaus Hartke <hartke@tzi.org>
Content-Type: multipart/alternative; boundary="001a1134b594b66ff0051d5b7c48"
Archived-At: <http://mailarchive.ietf.org/arch/msg/link-relations/KIOafsbczBXvwQI6PTdM3SajMII>
Cc: Julian Reschke <julian.reschke@gmx.de>, 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:47:38 -0000
Klaus: I think an important design decision is whether you want to overload a link rel value ("edit", "item", "collection", "payment") with protocol-level information like "idempotent", "safe", etc. or rendering information like "transclude", "immutable:, etc. My advice is to keep them separate. Your definitions in 2.4 are a bit unclear (by my reading) _link_ promises "navigation" ("transclude=false") but does it also promise "safe=true"? _embedded_link_ promisses "transclude=true" but does it also promise "safe=true"? _templated_link_ promises "mutability" but what of safety and transclusion? _form_ is promising "safe=false" but some are idempotent, some not. esp. when working with automated systems, you'll need to sort this out explicitly -- preferably inband, i suspect. i wrote up a draft paper in 2011 that talks about these[1] "hypermedia aspects" (safety, idempotence, mutability, and transclusion) and have a web page that lists the most common hypermedia factors[2] (that page could use some "love", tho <g>). This might help you in designing a media type that does a good job supporting a wide range of protocol-agnostic actions and promises. Finally, I am working on a media type design specifically aimed at automated agents -- Uniform Basis for Exchanging Representations (UBER -- I know...)[3] that you are free to use that for inspiration, caution, etc. cheers [1] http://www.w3.org/2011/10/integration-workshop/p/hypermedia-oriented-design.pdf [2] http://amundsen.com/hypermedia/hfactor/ [3] http://uberhypermedia.com mamund +1.859.757.1449 skype: mca.amundsen http://amundsen.com/blog/ http://twitter.com/mamund https://github.com/mamund http://linkedin.com/in/mamund On Sat, Aug 15, 2015 at 11:14 AM, Klaus Hartke <hartke@tzi.org> wrote: > 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 > > _______________________________________________ > link-relations mailing list > link-relations@ietf.org > https://www.ietf.org/mailman/listinfo/link-relations >
- Link relation types for non-GET links Klaus Hartke
- Re: Link relation types for non-GET links mike amundsen
- Re: Link relation types for non-GET links Klaus Hartke
- Re: Link relation types for non-GET links Julian Reschke
- Re: Link relation types for non-GET links Erik Wilde
- Re: Link relation types for non-GET links Mike Kelly
- Re: Link relation types for non-GET links Klaus Hartke
- Re: Link relation types for non-GET links Julian Reschke
- Re: Link relation types for non-GET links Klaus Hartke
- Re: Link relation types for non-GET links Klaus Hartke
- Re: Link relation types for non-GET links algermissen1971
- Re: Link relation types for non-GET links Mike Kelly
- Re: Link relation types for non-GET links Erik Wilde
- Re: Link relation types for non-GET links Erik Wilde
- Re: Link relation types for non-GET links Erik Wilde
- Re: Link relation types for non-GET links Klaus Hartke
- Re: Link relation types for non-GET links mike amundsen
- Re: Link relation types for non-GET links Klaus Hartke
- Re: Link relation types for non-GET links Erik Wilde