RFC 6903

Additional Link Relation Types

πŸ“… published March 2013, from ietf

RFC 6903 πŸŽ€

The title block, bestie, so you know who made this and when πŸ’–

  • RFC: 6903
  • Title: Additional Link Relation Types
  • Author: J. Snell (James M Snell) ✍️
  • Date: March 2013 πŸ“…
  • Category: Informational 🌸
  • Stream: Independent Submission
  • ISSN: 2070-1721
  • Obsoletes / Updates: the title block doesn't list anything this one obsoletes or updates πŸ™ˆ

Abstract

okay so this spec adds a bunch of extra link relation types πŸ”— that can be used for lots of different purposes across lots of different application types πŸ’…


Status of This Memo

this doc is not an Internet Standards Track spec, it's published for informational purposes ✨ It's a contribution to the RFC Series, independent of any other RFC stream. The RFC Editor picked to publish it at their discretion and makes no statement about its value for implementation or deployment πŸ’€ Docs the RFC Editor approves for publication are not a candidate for any level of Internet Standard, see Section 2 of RFC 5741 πŸ¦‹

For info about the current status of this doc, any errata, and how to leave feedback, check http://www.rfc-editor.org/info/rfc6903 🌈


Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. πŸ’œ

This doc 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. Please read these carefully, because they describe your rights and restrictions with respect to this doc 🫢


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 were set up by [RFC5988] πŸ”— This spec defines and adds these extra 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 point at a resource that is the subject or topic of the link's context πŸ’… You can use multiple "about" link relations if there are multiple subjects πŸ¦‹

say the context resource is a review of a particular product. You can use the "about" link 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 point at a resource that serves as a preview of the link's context, probably 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 of an image πŸ“Έ

for example, sending an HTTP HEAD request to a URI for 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 point at a resource describing the privacy policy attached to the link's context 🫣 The privacy policy can be any resource that discloses what personal info about the user is collected, and how that info is stored, used, managed, and disclosed to other parties πŸ’€

for example, an HTTP server that collects personal info about a user during their whole interaction with the service can include "privacy-policy" links in all HTTP responses, using any mix 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>
⚠️ tea time: without clear legal obligations on an entity, from a contract or from the law, a "privacy-policy" link does not count as a legally binding obligation on the service 😭 The linked resource can only be read as a description of the expected practice πŸ™ˆ

it is recommended that publishers of privacy-policy resources linked with the "privacy-policy" link relation provide a clear and simple way to signal when the privacy-policy resource changes, like generating a new Entity Tag for the resource or a hash over the policy's content πŸ“ How much these mechanisms get used is out of scope for this spec, though πŸ€·β€β™€οΈ


the Platform for Privacy Preferences [P3P] is a W3C Recommendation that defines a data format for expressing privacy policy info πŸ“œ You can use the "privacy-policy" link relation to reference P3P documents, but there's no intended relationship, normative or otherwise, between this spec and the P3P Recommendation πŸ™…β€β™€οΈ As far as this spec 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 point at a resource describing the terms of service attached to the link's context πŸ’… Terms of service can be any resource that describes the rules a consumer of the service has to agree to follow when using the service the link's context provides 🫢

for example, an HTTP server can include "terms-of-service" links in all HTTP responses, using any mix 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>

bestie, it must be noted that terms of service linked with this relation carry no legal weight and can be ignored with impunity unless there's an explicit, legally enforceable contract πŸ’€ The linked terms 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 it's used in the header of an HTTP message, the type given by the "type" link relation can't be confused with the content type of the payload given by the Content-Type header πŸ™Œ The "type" relation points at the payload's abstract semantic type, while the Content-Type header names the specific serialization format of the payload πŸŽ€

if the context can be seen as an instance of multiple semantic types, you can use multiple "type" link relations πŸ‘‘


7. IANA Considerations πŸ“‹

the "Link Relation Types" registry has been updated with these 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 πŸ”

this doc introduces no additional security concerns πŸ™Œ Nothing new to panic about, bestie πŸ’–


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 πŸ’Œ

πŸ“¦ where this page comes from