Network Working Group | J.M. Snell |
Internet-Draft | February 2012 |
Intended status: Standards Track | |
Expires: August 02, 2012 |
Additional Link Relation Types
draft-snell-additional-link-relations-00
This specification defines a number of additional Link Relation Types.
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 August 02, 2012.
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.
This specification defines a number of additional Link Relation Types for a variety of common linking scenarios.
In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in [RFC2119].
The "implements" Link relation can be used to refer to a resource that specifies the behavior implemented by the link's context. Links using the "implements" link relation can point either to formal specification documents such as RFC's, Internet-Drafts, W3C Recommendations, or to informal and possibly vendor specific documents that describe implementation details.
For example, an HTTP client that implements the Atom Publishing Protocol [RFC5023] could include an "implements" Link (per [RFC5988]) within the HTTP Request referencing RFC 5023:
POST /collection HTTP/1.1 Host: example.org Content-Type: application/atom+xml; type=entry Link: <http://tools.ietf.org/html/rfc5023>; rel="implements" <entry ...
Multiple "implements" Links can be used to indicate that multiple specifications have been implemented.
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 Link: </privacy-policy.html>; rel="privacy-policy" <html> <head> ... <link rel="privacy-policy" href="/privacy-policy.html"> ... </head> <body> ... <a rel="privacy-policy" href="/privacy-policy.html"> Privacy Policy </a> ... </body> </html>
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 Link: </tos.html>; rel="terms-of-service" <html> <head> ... <link rel="terms-of-service" href="/tos.html"> ... </head> <body> ... <a rel="terms-of-service" href="/tos.html"> Privacy Policy </a> ... </body> </html>
The Registry of Link Relations should be updated with the following entries:
Implementors should note that the presence of a "privacy-policy" Link provides no guarantee that personal information collected and used by a resource will be handled in the manner described by the linked resource.
Publishers of Privacy Policy resources linked to using the "privacy-policy" Link relation type SHOULD 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.
There are no additional security concerns introduced by the "terms-of-service" and "implements" Link relations.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC5023] | Gregorio, J. and B. de hOra, "The Atom Publishing Protocol", RFC 5023, October 2007. |
[RFC5988] | Nottingham, M., "Web Linking", RFC 5988, October 2010. |