Network Working Group | H. Van de Sompel |
Internet-Draft | Los Alamos National Laboratory |
Intended status: Informational | M. Nelson |
Expires: April 7, 2018 | Old Dominion University |
G. Bilder | |
Crossref | |
J. Kunze | |
California Digital Library | |
S. Warner | |
Cornell University | |
October 4, 2017 |
cite-as: A Link Relation to Convey a Preferred URI for Referencing
draft-vandesompel-citeas-00
This specification defines a link relation type that is intended to convey that a URI, other than the URI that provides a link with the relation type, is preferred for the purpose of referencing.
Please discuss this draft on the ART mailing list (<https://www.ietf.org/mailman/listinfo/art>).
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 7, 2018.
Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
A web resource is routinely referenced (e.g. linked, bookmarked) by means of the URI where it is directly accessed. But cases exist where referencing a resource by means of a different URI is preferred, for example because the latter URI is intended to be more persistent over time. Currently, there is no link relation type to convey such alternative referencing preference; this specification addresses this deficit by introducing a link relation type intended for that purpose.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
This specification uses the terms "link context" and "link target" as defined in [I-D.nottingham-rfc5988bis]. These terms respectively correspond with "Context IRI" and "Target IRI" as used in [RFC5988]. Although defined as IRIs, in common scenarios they are also URIs.
Additionally, this specification uses the following terms:
By interacting with the access URI, the user agent may discover typed links. For such links, the access URI is the link context.
Despite sound advice regarding the design of Cool URIs [CoolURIs], link rot ("HTTP 404 Not Found") is a common phenomena when following links on the web. Certain communities of practice have introduced solutions to combat this problem that typically consist of:
This approach is, for example, used by:
In order for the investments in infrastructure involved in these approaches to pay off, and hence for links to effectively remain operational as intended, it is crucial that a resource be referenced by means of its reference URI. However, the access URI is where a user agent actually accesses the resource (e.g., it is the URI in the browser's address bar). As such, there is a considerable risk that the access URI instead of the reference URI is used for referencing [PIDs-must-be-used].
The link relation type defined in this specification allows to convey to user agents that the reference URI is the preferred URI for referencing. Applications such as bookmarking tools, citation managers, and webometrics applications can take this preference into account when recording a URI.
Resource versioning systems often use a naming approach whereby:
For example, Wikipedia uses generic URIs of the form <http://en.wikipedia.org/wiki/John_Doe> and version URIs of the form <https://en.wikipedia.org/w/index.php?title=John_Doe&oldid=776253882>.
While the current version of a resource is accessed at the generic URI, some versioning systems adhere to a policy that favors linking and referencing by means of the version URI that was minted for the current version. To express this using the terminology of Section 2, these policies intend that the generic URI is the access URI, and that the version URI is the reference URI. These policies are informed by the understanding that the content at the generic URI is likely to evolve over time, and that accurate links or references should lead to the content as it was at the time of referencing. To that end, Wikipedia's "Permanent link" and "Cite this page" functionalities promote the version URI, not the generic URI.
The link relation type defined in this specification allows to convey to user agents that the version URI is preferred over the generic URI for referencing.
A web user commonly has multiple profiles on the web, for example, one per social network she takes part in, a personal homepage, a professional homepage, a FOAF profile [FOAF], etc. Each of these profiles is accessible at a distinct URI. But the user may have a preference for one of those profiles, for example, because it is most complete, kept up-to-date, or expected to be long-lived.
The link relation type defined in this specification allows to convey to user agents that a profile URI - the reference URI - other than the one the agent is accessing - the access URI - is preferred for referencing.
When publishing on the web, it is not uncommon to make distinct components of a publication available as different web resources, each with their own URI. For example:
While each of these components are accessible at their distinct URI - the access URI - they often also share a URI assigned to the intellectual publication of which they are components - the reference URI.
The link relation type defined in this specification allows to convey to user agents that, for the purpose of referencing, the reference URI of the intellectual publication is preferred over an access URI of a component of the publication.
A link with the "cite-as" relation type indicates that the link target is preferred over the link context for the purpose of referencing.
The link target of a "cite-as" link SHOULD support protocol-based access as a means to ensure that applications that store them can effectively re-use them for access.
The link target of a "cite-as" link SHOULD provide the ability for a user agent to follow its nose back to the context of the link, e.g. by following redirects and/or links. This helps a user agent to establish trust in the target URI.
Because a link with the "cite-as" relation type expresses a preferred URI for the purpose of referencing, the access URI SHOULD only provide one link with that relation type. If more than one "cite-as" link is provided, the user agent may decide to select one (e.g. an HTTP URI over a mailto URI), for example, based on the purpose that the reference URI will serve.
Providing a link with the "cite-as" relation type does not prevent using the access URI for the purpose of referencing if such specificity is needed for the application at hand. For example, in the case of scenario Section 3.4 the access URI is likely required for the purpose of annotating a specific component of an intellectual publication. Yet, the annotation application may also want to appropriately include the reference URI in the annotation.
The following existing IANA-registered relationships may intuitively resemble the relationship that "cite-as" is intended to convey, but are not appropriate for various reasons:
A closer inspection of these candidates [identifier-blog] shows that they are not appropriate and that a new relation type is required.
In the scenario of Section 3.1 there is no content available at the reference URI as it merely redirects to the access URI. In the scenario of Section 3.3, the content at the reference URI is a profile that is different than the profile at the access URI. In the scenario of Section 3.4 the content at the reference URI, if any, would typically be a sort of table of contents with links to component resources and possibly a summary. These considerations exclude "alternate", "canonical", and "duplicate" as possible relation types.
The meaning of "canonical" is commonly misunderstood on the basis of its brief definition as being "the preferred version of a resource." A more detailed reading of [RFC6596] clarifies that the intended meaning is preferred for the purpose of content indexing [canonical-blog]. In constrast, for "cite-as" it is preferred for the purpose of referencing.
The intent of "bookmark" is closest to that of "cite-as" in that the link target of a link with the "bookmark" relation type is intended "to give a permanent link to use for for bookmarking purposes." However, for reasons related to its original intent [bookmark-blog], "bookmark" is specifically defined for use in conjunction with the HTML <article> element and is explictly excluded from use in the <link> element in HTML <head>. Since a link in <link> and a link in the HTTP Link header are semantically equivalent, "bookmark" is also excluded from use in HTTP Link.
While "related" could be used, its semantics are too vague to convey the specific nature of "cite-as" as a means to convey a URI for the purpose of referencing.
Sections Section 6.1 and Section 6.2 show examples of the use of links with the "cite-as" relation type. One example shows its use in a response header and body, the other in a response body only.
If the access URI is a landing page for a scholarly article for which the persistent HTTP URI <http://persistence.example.org/738207472> was minted, then the response to an HTTP GET on the landing page's URI could be as shown in Figure 1.
HTTP/1.1 200 OK Link: <http://persistence.example.org/738207472> ; rel="cite-as" Content-Type: text/html;charset=utf-8 <html> <head> ... <link rel="cite-as" href="http://persistence.example.org/738207472" /> ... </head> <body> ... </body> </html>
Figure 1: Response to HTTP GET on the URI of the landing page of a scholarly article
If the access URI is the home page of John Doe, John can add a link with the "cite-as" relation type to it, as a means to convey that he would preferably be referenced by means of the URI of his FOAF profile. Figure 2 shows the response to an HTTP GET on the URI of John's home page.
HTTP/1.1 200 OK Content-Type: text/html;charset=utf-8 <html> <head> ... <link rel="cite-as" href="http://johndoe.example.com/foaf" type="text/ttl"/> ... </head> <body> ... </body> </html>
Figure 2: Response to HTTP GET on the URI of John Doe's home page
The link relation type below has been registered by IANA per Section 2.1.1 of [I-D.nottingham-rfc5988bis]:
In cases where there is no way for the agent to automatically verify the correctness of the reference URI (cf. Section 4), out-of-band mechanisms might be required to establish trust.
If a trusted site is compromised, the "cite-as" link relation could be used with malicious intent to supply misleading URIs for referencing. Use of these links might direct user agents to an attacker's site, break the referencing record they are intended to support, or corrupt algorithmic interpretation of referencing data.
[I-D.nottingham-rfc5988bis] | Nottingham, M., "Web Linking", Internet-Draft draft-nottingham-rfc5988bis-08, August 2017. |
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC4287] | Nottingham, M. and R. Sayre, "The Atom Syndication Format", RFC 4287, DOI 10.17487/RFC4287, December 2005. |
[RFC5988] | Nottingham, M., "Web Linking", RFC 5988, DOI 10.17487/RFC5988, October 2010. |
[RFC6249] | Bryan, A., McNab, N., Tsujikawa, T., Poeml, P. and H. Nordstrom, "Metalink/HTTP: Mirrors and Hashes", RFC 6249, DOI 10.17487/RFC6249, June 2011. |
[RFC6596] | Ohye, M. and J. Kupke, "The Canonical Link Relation", RFC 6596, DOI 10.17487/RFC6596, April 2012. |
[W3C.REC-html5-20151028] | Hickson, I., Berjon, R., Faulkner, S., Leithead, T., Doyle Navara, E., O'Connor, E. and S. Pfeiffer, "HTML5", World Wide Web Consortium Recommendation REC-HTML5-20141028, October 2014. |
Thanks for comments and suggestions provided by Martin Klein, Harihar Shankar, Peter Williams, John Howard, Mark Nottingham.