Network Working Group J.M. Snell
Internet-Draft October 2012
Intended status: Informational
Expires: April 02, 2013

Additional Link Relation Types
draft-snell-additional-link-relations-06

Abstract

This specification defines a number of additional Link Relation Types that can used for a variety of purposes..

Status of This Memo

This Internet-Draft is submitted to IETF 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 http:/⁠/⁠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 02, 2013.

Copyright Notice

Copyright (c) 2012 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

The fundamental model for Web Links and the Registry of Link Relations are established by [RFC5988]. This specification defines and adds the following additional types of link relations 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 a 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. How much mechanisms are utilized are out of the scope of this specification, however.

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 carries 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 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 Registry of Link Relations should be updated with the following entries:

8. Security Considerations

There are no additional security concerns introduced by this document.

9. References

[RFC5988] Nottingham, M., "Web Linking", RFC 5988, October 2010.

Author's Address

James M Snell EMail: jasnell@gmail.com