Internet DRAFT - draft-snell-atompub-feed-nofollow
draft-snell-atompub-feed-nofollow
Network Working Group J. Snell
Internet-Draft December 6, 2005
Expires: June 9, 2006
Atom Link No Follow
draft-snell-atompub-feed-nofollow-04.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on June 9, 2006.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This memo presents a mechanism that allows feed publishers to express
preferences over how a consumer processes Atom links and Content-By-
Reference.
Snell Expires June 9, 2006 [Page 1]
Internet-Draft Feed Thread December 2005
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Notational Conventions . . . . . . . . . . . . . . . . . . . . 3
3. The 'x:follow' extension attribute . . . . . . . . . . . . . . 4
4. The 'x:index' extension attribute . . . . . . . . . . . . . . . 4
5. The 'x:archive' extension attribute . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7
Intellectual Property and Copyright Statements . . . . . . . . . . 8
Snell Expires June 9, 2006 [Page 2]
Internet-Draft Feed Thread December 2005
1. Introduction
This docoument specifies a mechanism by which feed publishers MAY
express how applications consuming Atom documents should handle links
and referenced content. For example, a publisher may include an
enclosure link within a feed but may not wish for applications to
automatically download the enclosed file when it processes the feed;
or, the publisher may not wish to allow applications to archive or
index the enclosure in any way. The 'follow', 'index' and 'archive'
attributes introduced herein provide the means for publishers to
express these preferences.
noFollowAttributes = {
attribute follow { "yes" | "no" }?,
attribute index { "yes" | "no" }?,
attribute archive { "yes" | "no" }?
}
Section 6.3 of the Atom Format specification indicates that Atom
processors that encounter unknown extensions MUST ignore those
extensions without altering their behavior. Because of this
requirement, there can be no assumption that a particular software
implementation will support the extensions defined herein.
2. Notational Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, [RFC2119], as
scoped to those conformance targets.
In this specification, "entry" refers to an atom:entry element.
In this specification, "feed" refers to an Atom Feed Document.
In this specification, "head section" refers to the children of a
feed's document-wide metadata container; e.g., the child elements of
the atom:feed element in an Atom Feed Document.
In this specification, the term "extension attribute" refers to a
namespace qualified element attribute.
In this specification, the term "link" refers to an atom:link
element.
In this specification, the term "referenced content" refers to an
atom:content element that contains a @src attribute.
Snell Expires June 9, 2006 [Page 3]
Internet-Draft Feed Thread December 2005
This specification uses XML Namespaces [W3C.REC-xml-names-19990114]
to uniquely identify XML element and attribute names. It uses the
following namespace prefix for the indicated namespace URI;
{Ed. Note: The Namespace must be changed before publication to
reflect a proper IETF namespace scheme}
"x": "http://purl.org/atompub/nofollow/1.0"
This specification uses terms from the XML Infoset [W3C.REC-xml-
infoset-20040204]. However, this specification uses a shorthand; the
phrase "Information Item" is omitted when naming Element Information
Items. Therefore, when this specification uses the term "element,"
it is referring to an Element Information Item in Infoset terms.
3. The 'x:follow' extension attribute
The 'x:follow" attribute indicates whether applications should
automatically attempt to follow links and referenced content (e.g.,
whether or not enclosure links should be automatically downloaded,
etc). The value of the attribute is either "yes" or "no". If
missing, the value is considered to be indeterminate. A value of
"no" indicates that applications SHOULD NOT attempt to automatically
resolve the referenced resource -- rather, the application should
wait until a user explicitly requests the linked resource to be
resolved.
For example,
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:x="http://purl.org/atompub/nofollow/1.0">
<id>...</id>
<title>...</title>
<link rel="enclosure"
href="http://example.com/mediafiles/mysong.mp3"
x:follow="no" />
...
</entry>
The 'x:follow' attribute MAY be contained by atom:link elements and
atom:content elements that contain a 'src' attribute.
4. The 'x:index' extension attribute
The 'x:index' attribute indicates whether applications should index
links and referenced content. The value of the attribute is either
"yes" or "no". If missing, the value is considered to be
indeterminate. A value of "no" indicates that applications SHOULD
Snell Expires June 9, 2006 [Page 4]
Internet-Draft Feed Thread December 2005
NOT index the referenced resource.
For the sake of this specification, 'indexing' refers to the practice
of parsing and processing the content of a resource for the purpose
of populating a database used for searching and other forms of
analysis. The intended purpose of using x:index="no" would be for
the publisher to indicate their preference that the associated
resource not be processed for searching or analysis purposes.
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:x="http://purl.org/atompub/nofollow/1.0">
<id>...</id>
<title>...</title>
<link rel="enclosure"
href="http://example.com/mediafiles/mysong.mp3"
x:index="no" />
...
</entry>
The 'x:index' attribute MAY be contained by atom:link elements and
atom:content elements containing a 'src' attribute.
5. The 'x:archive' extension attribute
The 'x:archive' attribute indicates whether applications should
archive the targets of links and content references. The value of
the attribute is either "yes" or "no". If missing, the value is
considered to be "yes". A value of "no" indicate that applications
SHOULD NOT archive the referenced resource.
For the sake of this specification, 'archiving' refers to the
practice of maintain a local copy of a resource as part of a
historical record. This is different than the practice of
maintaining locally cached copies of a resource for the sake of
improving transmission performance and reducing network bandwidth.
The intended purpose of using x:archive="no" would be for a publisher
to indicate their preference that local copies of the asociated
resource not be maintained for archival/historical purposes.
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:x="http://purl.org/atompub/nofollow/1.0">
<id>...</id>
<title>...</title>
<link rel="enclosure"
href="http://example.com/mediafiles/mysong.mp3"
x:archive="no" />
...
</entry>
Snell Expires June 9, 2006 [Page 5]
Internet-Draft Feed Thread December 2005
The 'x:archive' attribute MAY be contained by atom:link elements and
atom:content elements containing a 'src' attribute.
6. Security Considerations
There are no security considerations introduced by this
specification.
7. IANA Considerations
There are no IANA considerations introduced by this specification.
8. References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4287] Nottingham, M. and R. Sayre, "The Atom Syndication
Format", RFC 4287, December 2005.
[W3C.REC-xml-infoset-20040204]
Tobin, R. and J. Cowan, "XML Information Set (Second
Edition)", W3C REC REC-xml-infoset-20040204,
February 2004.
[W3C.REC-xml-names-19990114]
Hollander, D., Bray, T., and A. Layman, "Namespaces in
XML", W3C REC REC-xml-names-19990114, January 1999.
[W3C.REC-xmlschema-2-20041028]
Malhotra, A. and P. Biron, "XML Schema Part 2: Datatypes
Second Edition", W3C REC REC-xmlschema-2-20041028,
October 2004.
Appendix A. Acknowledgements
The author gratefully acknowledges the feedback from the members of
the Atom Publishing Format and Protocol working group during the
development of this specification.
Snell Expires June 9, 2006 [Page 6]
Internet-Draft Feed Thread December 2005
Author's Address
James M Snell
Phone:
Email: jasnell@gmail.com
URI: http://snellspace.com
Snell Expires June 9, 2006 [Page 7]
Internet-Draft Feed Thread December 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Snell Expires June 9, 2006 [Page 8]