One document matched: draft-snell-additional-link-relations-02.txt
Differences from draft-snell-additional-link-relations-01.txt
Network Working Group J. Snell
Internet-Draft May 1, 2012
Intended status: Standards Track
Expires: November 2, 2012
Additional Link Relation Types
draft-snell-additional-link-relations-02
Abstract
This specification defines a number of additional Link Relation
Types.
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 November 2, 2012.
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. 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.
Snell Expires November 2, 2012 [Page 1]
Internet-Draft HTTP Prefer May 2012
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. "about" . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. "implements" . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. "privacy-policy" . . . . . . . . . . . . . . . . . . . . . . . 4
5. "terms-of-service" . . . . . . . . . . . . . . . . . . . . . . 5
6. "type" . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
8. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
9.1. Normative References . . . . . . . . . . . . . . . . . . . 7
9.2. Informative References . . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7
Snell Expires November 2, 2012 [Page 2]
Internet-Draft HTTP Prefer May 2012
1. Introduction
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].
2. "about"
The "about" Link relation can be used to refer to a resource that is
the subject 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. "implements"
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
Snell Expires November 2, 2012 [Page 3]
Internet-Draft HTTP Prefer May 2012
specifications have been implemented.
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:
An example showing various locations where privacy-policy links can
potentially appear:
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>
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 MUST be interpreted as only
a description of the expected practice.
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
Snell Expires November 2, 2012 [Page 4]
Internet-Draft HTTP Prefer May 2012
have been made, such as generating a new Entity Tag for the resource
or generating a hash over the Privacy Policy's content.
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:
An example showing various places where terms-of-service links can
potentially appear:
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>
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
Snell Expires November 2, 2012 [Page 5]
Internet-Draft HTTP Prefer May 2012
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>; type="type"
Sally
Note that the "type" specified by the type link relation MUST NOT be
confused with the media type of the payload itself 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:
o Relation Name: about
o Description: Refers to a resource that is the subject of the
link's context.
o Reference: This specification.
o Relation Name: implements
o Description: Refers to a specification implemented by the link's
context.
o Reference: This specification.
o Relation Name: privacy-policy
o Description: Refers to a Privacy Policy associated with the link's
context.
o Reference: This specification.
o Relation Name: terms-of-service
o Description: Refers to the Terms of Service associated with the
link's context.
o Reference: This specification.
o Relation Name: type
o Description: Refers to a resource identifying the abstract
semantic type the link's context is considered to be an instance
of.
Snell Expires November 2, 2012 [Page 6]
Internet-Draft HTTP Prefer May 2012
o Reference: This specification.
8. Security Considerations
There are no additional security concerns introduced by the "terms-
of-service", "implements", "about" or "type" Link relations.
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
9.2. Informative References
[RFC5023] Gregorio, J. and B. de hOra, "The Atom Publishing
Protocol", RFC 5023, October 2007.
[RFC5988] Nottingham, M., "Web Linking", RFC 5988, October 2010.
Author's Address
James M Snell
Email: jasnell@gmail.com
Snell Expires November 2, 2012 [Page 7]
| PAFTECH AB 2003-2026 | 2026-04-24 04:09:58 |