Additional Link Relation Types
Five new names for describing how web resources relate to each other.
Snell, J., "Additional Link Relation Types", RFC 6903, DOI 10.17487/RFC6903, March 2013, <https://www.rfc-editor.org/info/rfc6903>.
@misc{rfc6903,
series = {Request for Comments},
number = 6903,
howpublished = {RFC 6903},
publisher = {RFC Editor},
doi = {10.17487/RFC6903},
url = {https://www.rfc-editor.org/info/rfc6903},
author = {J. Snell},
title = {{Additional Link Relation Types}},
pagetotal = 6,
year = 2013,
month = mar,
} RFC text
Contents
Independent Submission J. Snell
Request for Comments: 6903 March 2013
Category: Informational
ISSN: 2070-1721
Additional Link Relation Types
Abstract
This specification defines a number of additional link relation types
that can used for a range of purposes in a variety of applications
types.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This is a contribution to the RFC Series, independently of any other
RFC stream. The RFC Editor has chosen to publish this document at
its discretion and makes no statement about its value for
implementation or deployment. Documents approved for publication by
the RFC Editor are not a candidate for any level of Internet
Standard; see Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6903.
Copyright Notice
Copyright (c) 2013 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
(http://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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. "about" . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. "preview" . . . . . . . . . . . . . . . . . . . . . . . . . . 2
4. "privacy-policy" . . . . . . . . . . . . . . . . . . . . . . 3
4.1. The "privacy-policy" Link Relation and P3P . . . . . . . 4
5. "terms-of-service" . . . . . . . . . . . . . . . . . . . . . 4
6. "type" . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
8. Security Considerations . . . . . . . . . . . . . . . . . . . 6
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
9.1. Normative References . . . . . . . . . . . . . . . . . . 6
9.2. Informative References . . . . . . . . . . . . . . . . . 6
1. Introduction
The fundamental model for web links and the "Link Relations" registry
are established by [RFC5988]. This specification defines and adds
the following additional link relation types to the registry:
"about", "preview", "privacy-policy", "terms-of-service", and "type".
2. "about"
The "about" link relation can be used to refer to a resource that is
the subject or topic of the link's context. Multiple subjects can be
indicated through the use of multiple "about" link relations.
For example, if the context resource is a review about a particular
product, the "about" link can be used to reference the URL of the
product:
HTTP/1.1 200 OK
Content-Type: application/json
Link: <http://store.example.org/product/abc>; rel="about"
{...}
3. "preview"
The "preview" link relation can be used to refer to a resource that
serves as a preview of the link's context, likely with reduced
quality or limited content. For instance, the preview link might
reference a screen capture of a video, a brief snippet of audio from
a song, or a thumbnail representation of an image.
For example, issuing an HTTP HEAD request to a URI representing a
large video or image file might return a link to a short or lower-
quality preview of the original:
HTTP/1.1 200 OK
Content-Text: video/mpeg
Link: <http://example.org/preview/10-second-preview.mpg>;
rel="preview"; type="video/mpeg"
4. "privacy-policy"
The "privacy-policy" link relation can be used to refer to a resource
describing the privacy policy associated with the link's context.
The privacy policy can be any resource that discloses what personal
information about the user is collected and how that personal
information is stored, used, managed, and disclosed to other parties.
For example, an HTTP server that collects personal information about
a user throughout the course of the user's interaction with the
service can include "privacy-policy" links within all HTTP responses
using any combination of Link headers or links embedded in the
response payload:
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<head>
...
<link rel="privacy-policy" href="/privacy-policy.html" />
...
</head>
<body>
...
</body>
</html>
Note that in the absence of clear legal obligations placed on an
entity, either through contract or law, the presence of a "privacy-
policy" link does not constitute a legally binding obligation on the
part of the service. The linked resource can only be interpreted as
a description of the expected practice.
It is recommended that publishers of privacy-policy resources linked
to using the "privacy-policy" link relation provide a clear and
simple mechanism for signaling when changes to the privacy-policy
resource have been made, such as generating a new Entity Tag for the
resource or generating a hash over the privacy policy's content. The
extent to which mechanisms are utilized is out of the scope of this
specification, however.
4.1. The "privacy-policy" Link Relation and P3P
The Platform for Privacy Preferences [P3P] is a W3C Recommendation
that defines a data format for the expression of privacy policy
information. While the "privacy-policy" link relation can be used to
reference P3P documents, there is no intended relationship, normative
or otherwise, between this specification and the P3P Recommendation.
As far as this specification is concerned, P3P documents are just one
possible type of resource that "privacy-policy" links can reference.
5. "terms-of-service"
The "terms-of-service" link relation can be used to refer to a
resource describing the terms of service associated with the link's
context. The terms of service can be any resource that describes the
rules to which a consumer of the service must agree to follow when
using the service provided by the link's context.
For example, an HTTP server can include "terms-of-service" links
within all HTTP responses using any combination of Link headers or
links embedded in the response payload:
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<head>
...
<link rel="terms-of-service" href="/tos.html">
...
</head>
<body>
...
</body>
</html>
It must be noted that the terms of service linked to using this link
relation carry no legal weight and can be ignored with impunity in
the absence of an explicit, legally enforceable contract. The linked
terms of service are simply a notice of the terms that may be
expected to apply once a contract is established.
6. "type"
The "type" link relation can be used to indicate that the context
resource is an instance of the resource identified by the target
Internationalized Resource Identifier (IRI).
HTTP/1.1 200 OK
Content-Type: text/plain
Link: <http://example.org/Person/givenName>; rel="type"
Sally
When used within the header of an HTTP message, the type specified by
the "type" link relation cannot be confused with the content type of
the payload as given by the Content-Type header. The "type" link
relation references the payload's abstract semantic type, whereas the
Content-Type header identifies the specific serialization format of
the payload.
If the context can be considered to be an instance of multiple
semantic types, multiple "type" link relations can be used.
7. IANA Considerations
The "Link Relation Types" registry has been updated with the
following entries:
o Relation Name: about
o Description: Refers to a resource that is the subject of the
link's context.
o Reference: This specification, Section 2
o Relation Name: preview
o Description: Refers to a resource that provides a preview of the
link's context.
o Reference: This specification, Section 3
o Relation Name: privacy-policy
o Description: Refers to a privacy policy associated with the link's
context.
o Reference: This specification, Section 4
o Relation Name: terms-of-service
o Description: Refers to the terms of service associated with the
link's context.
o Reference: This specification, Section 5
o Relation Name: type
o Description: Refers to a resource identifying the abstract
semantic type of which the link's context is considered to be an
instance.
o Reference: This specification, Section 6
8. Security Considerations
There are no additional security concerns introduced by this
document.
9. References
9.1. Normative References
[RFC5988] Nottingham, M., "Web Linking", RFC 5988, October 2010.
9.2. Informative References
[P3P] W3C, "P3P: The Platform for Privacy Preferences", November
2007, <http://www.w3.org/P3P/>.
Author's Address
James M Snell
EMail: jasnell@gmail.com
AI ELI5
On this page
§1What Are Link Relations
Web Linking is the standard way to describe a relationship between two web resources. A resource can include a Link header or HTML <link> tags to point to a related resource and give the relationship a name. RFC 5988 established the framework; this RFC adds five new names to the registry.
Link relations are useful for navigation (next, previous, up), authentication (openid2.provider), and metadata (canonical, alternate). They let servers tell clients about related resources without embedding them in the content.
A web link is just an arrow from one page to another with a label saying what the relationship is. Like "this is the next page" or "here is the privacy policy". This RFC adds five new label types.
§2The Five New Link Relations
The about relation indicates that the target resource is the subject or topic of the context. If you are reading a product review, the about link points to the product being reviewed. Multiple about links can reference multiple subjects.
The preview relation points to a preview version of the context: a low-quality or shortened version, a thumbnail, a screen capture, or a snippet. A video server might return a link to a 10-second preview when you request the full video.
The privacy-policy relation points to the privacy policy describing how personal information is collected, stored, and used. A website can include this link in the page header or HTTP Link header. The RFC warns that the presence of a privacy-policy link does not create a legal obligation unless there is an explicit contract.
The terms-of-service relation points to the terms under which the service is offered. Like privacy policy, the presence of a terms-of-service link is a notice of expected rules, not a binding contract unless formally agreed.
"About" tells you what a page is discussing. "Preview" shows you a smaller version before you download. "Privacy policy" and "terms of service" are legal documents that sites link to, so visitors know the rules.
§3Semantic Types and Other Uses
The type relation indicates the semantic type or category of the context resource. Unlike the HTTP Content-Type header, which describes the serialization format (JSON, HTML, plain text), the type link describes the abstract kind of thing being represented.
For example, a plain-text response could include a type link to http://example.org/Person to indicate the response represents a person, even though it is transmitted as plain text. Multiple type links can indicate multiple semantic types for the same resource.
Content-Type tells you the file format (HTML, JSON, plain text). The type link tells you what kind of thing the page is describing (a person, a product, an event). They are different ideas.
§4Registration in IANA
All five relation types have been registered in the IANA Link Relation Types registry, making them standard names that any web application or server can use. The registry is maintained by IANA and published online, so any specification can reference these relations by name.
The IANA registry is like a phone book for link names. Once a name is registered, any website can use it and everyone knows what it means.