draft-ietf-atompub-autodiscovery-00.txt   draft-ietf-atompub-autodiscovery-01.txt 
Network Working Group M. Pilgrim ATOMPUB Working Group M. Pilgrim
Internet-Draft IBM Internet-Draft IBM
Expires: February 15, 2005 August 17, 2004 Expires: November 11, 2005 P. Ringnalda, Ed.
May 10, 2005
Atom Feed Autodiscovery Atom Feed Autodiscovery
draft-ietf-atompub-autodiscovery-00.txt draft-ietf-atompub-autodiscovery-01.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, I certify that any applicable By submitting this Internet-Draft, each author represents that any
patent or other IPR claims of which I am aware have been disclosed, applicable patent or other IPR claims of which he or she is aware
and any of which I become aware will be disclosed, in accordance with have been or will be disclosed, and any of which he or she becomes
RFC 3668. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as Internet-
Internet-Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on February 15, 2005. This Internet-Draft will expire on November 11, 2005.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright (C) The Internet Society (2005).
Abstract Abstract
This document specifies a machine-readable method of linking to an This document specifies a machine-readable method of linking to an
Atom feed from a HyperText Markup Language (HTML) or Extensible Atom feed from a HyperText Markup Language (HTML) or Extensible
HyperText Markup Language (XHTML) document, using the <link> element. HyperText Markup Language (XHTML) document, using the <link> element.
Editorial Note Editorial Note
To provide feedback on this Internet-Draft, join the To provide feedback on this Internet-Draft, join the atom-syntax
<http://www.imc.org/atom-syntax/index.html>. mailing list (http://www.imc.org/atom-syntax/index.html) [1].
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Notational Conventions . . . . . . . . . . . . . . . . . . . . 3 2. Notational Conventions . . . . . . . . . . . . . . . . . . . 3
3. Relationship to HTML and XHTML . . . . . . . . . . . . . . . . 3 3. Relationship to HTML and XHTML . . . . . . . . . . . . . . . 3
3.1 Definition of an autodiscovery element . . . . . . . . . . 3 3.1 Definition of an autodiscovery element . . . . . . . . . . 3
3.2 Syntax rules inherited from HTML . . . . . . . . . . . . . 3 3.2 Syntax rules inherited from HTML . . . . . . . . . . . . . 3
3.3 Syntax rules inherited from XHTML . . . . . . . . . . . . 4 3.3 Syntax rules inherited from XHTML . . . . . . . . . . . . 4
4. Required attributes . . . . . . . . . . . . . . . . . . . . . 4 4. Required attributes . . . . . . . . . . . . . . . . . . . . 4
4.1 rel attribute . . . . . . . . . . . . . . . . . . . . . . 4 4.1 rel attribute . . . . . . . . . . . . . . . . . . . . . . 4
4.2 type attribute . . . . . . . . . . . . . . . . . . . . . . 4 4.2 type attribute . . . . . . . . . . . . . . . . . . . . . . 4
4.3 href attribute . . . . . . . . . . . . . . . . . . . . . . 5 4.3 href attribute . . . . . . . . . . . . . . . . . . . . . . 5
5. Optional attributes . . . . . . . . . . . . . . . . . . . . . 5 5. Optional attributes . . . . . . . . . . . . . . . . . . . . 5
5.1 title attribute . . . . . . . . . . . . . . . . . . . . . 5 5.1 title attribute . . . . . . . . . . . . . . . . . . . . . 5
6. Multiple autodiscovery elements . . . . . . . . . . . . . . . 5 6. Multiple autodiscovery elements . . . . . . . . . . . . . . 5
7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.1 rel attribute variations . . . . . . . . . . . . . . . . . 6 7.1 rel attribute variations . . . . . . . . . . . . . . . . . 6
7.2 type attribute variations . . . . . . . . . . . . . . . . 6 7.2 type attribute variations . . . . . . . . . . . . . . . . 6
7.3 Link element variations . . . . . . . . . . . . . . . . . 6 7.3 Link element variations . . . . . . . . . . . . . . . . . 6
7.4 HTML variations . . . . . . . . . . . . . . . . . . . . . 8 7.4 HTML variations . . . . . . . . . . . . . . . . . . . . . 8
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . 10
9. Security Considerations . . . . . . . . . . . . . . . . . . . 10 9. Security Considerations . . . . . . . . . . . . . . . . . . 10
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
10.1 Normative References . . . . . . . . . . . . . . . . . . . . 10 10.1 Normative References . . . . . . . . . . . . . . . . . . 10
10.2 Informative References . . . . . . . . . . . . . . . . . . . 11 10.2 Informative References . . . . . . . . . . . . . . . . . 11
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 11
A. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 11 A. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 12
B. Revision History . . . . . . . . . . . . . . . . . . . . . . . 11 B. Revision History . . . . . . . . . . . . . . . . . . . . . . 12
Intellectual Property and Copyright Statements . . . . . . . . 13 Intellectual Property and Copyright Statements . . . . . . . 13
1. Introduction 1. Introduction
Atom is an XML-based file format intended to allow lists of Atom is an XML-based file format intended to allow lists of
information, known as "feeds", to be synchronised between publishers information, known as "feeds", to be synchronised between publishers
and consumers. Feeds are composed of a number of items, known as and consumers. Feeds are composed of a number of items, known as
"entries", each with an extensible set of attached metadata. The "entries", each with an extensible set of attached metadata. The
primary use case that Atom addresses is for syndicating web content primary use case that Atom addresses is for syndicating web content
such as weblogs and news headlines to other web sites and directly to such as weblogs and news headlines to other web sites and directly to
consumers. However, nothing precludes it from being used for other consumers. However, nothing precludes it from being used for other
purposes and types of content. purposes and types of content.
The purpose of Atom autodiscovery is for clients who know the URI of The purpose of Atom autodiscovery is for clients who know the URI of
a web page to find the location of page's associated Atom feed. For a web page to find the location of that page's associated Atom feed.
example, say an end user wishes to subscribe to the Atom feed of a For example, say an end user wishes to subscribe to the Atom feed of
site. Their Atom-aware aggregator client could prompt them to enter a site. Their Atom-aware aggregator client could prompt them to
the home page of the site. The client could retrieve the HTML source enter the home page of the site. The client could retrieve the HTML
of the home page, find the Atom autodiscovery element, and then source of the home page, find the Atom autodiscovery element, and
retrieve the Atom feed or cache the URI of the Atom feed for later then retrieve the Atom feed or cache the URI of the Atom feed for
retrieval. later retrieval.
Autodiscovered Atom feeds may be presented to the user in a variety Autodiscovered Atom feeds may be presented to the user in a variety
of other ways. In the past, Atom-enabled clients have implemented of other ways. In the past, Atom-enabled clients have implemented
local proxies that monitor visited web sites and notify the end user local proxies that monitor visited web sites and notify the end user
of autodiscovered Atom feeds in real time. Such notification could of autodiscovered Atom feeds in real time. Such notification is also
also be built directly into future versions of desktop web browsers. built directly into some desktop web browsers.
2. Notational Conventions 2. Notational Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. Relationship to HTML and XHTML 3. Relationship to HTML and XHTML
3.1 Definition of an autodiscovery element 3.1 Definition of an autodiscovery element
skipping to change at page 4, line 17 skipping to change at page 4, line 17
o Attribute names are not case-sensitive. For example, clients MUST o Attribute names are not case-sensitive. For example, clients MUST
treat <link rel="alternate" ...> the same as <link REL="alternate" treat <link rel="alternate" ...> the same as <link REL="alternate"
...>. ...>.
o Attributes may appear in any order; the order MUST NOT be o Attributes may appear in any order; the order MUST NOT be
considered significant. considered significant.
o Attribute values MUST be one of the following: enclosed in double o Attribute values MUST be one of the following: enclosed in double
quotes, enclosed in single quotes, or not enclosed in quotes at quotes, enclosed in single quotes, or not enclosed in quotes at
all. all.
o Attribute values MAY contain leading or trailing spaces, or both. o Attribute values MAY contain leading or trailing spaces, or both.
Clients MUST ignore both leading and trailing spaces in attribute Clients MUST ignore both leading and trailing spaces in attribute
valuess. For example, clients MUST treat all of the following the values. For example, clients MUST treat all of the following the
same way: <link rel="alternate" ...>, <link rel="alternate " ...>, same way: <link rel="alternate" ...>, <link rel="alternate " ...>,
<link rel=" alternate" ...>, and <link rel=" alternate " ...>. <link rel=" alternate" ...>, and <link rel=" alternate " ...>.
3.3 Syntax rules inherited from XHTML 3.3 Syntax rules inherited from XHTML
XHTML [W3C.REC-xhtml1-20020801] is a reformulation of HTML in XML XHTML [W3C.REC-xhtml1-20020801] is a reformulation of HTML in XML
[W3C.REC-xml-20001006]. It also defines a <link> element, so XHTML [W3C.REC-xml-20040204]. It also defines a <link> element, so XHTML
documents are a suitable container for Atom autodiscovery elements. documents are a suitable container for Atom autodiscovery elements.
When an Atom autodiscovery element appears in an XHTML document, it When an Atom autodiscovery element appears in an XHTML document, it
shares all the syntax rules and restrictions of other XHTML elements. shares all the syntax rules and restrictions of other XHTML elements.
The syntax rules of XHTML documents are slightly different than HTML The syntax rules of XHTML documents are slightly different than HTML
documents. The most relevant differences are listed here: documents. The most relevant differences are listed here:
o Element names are case-sensitive, and MUST be lowercase. o Element names are case-sensitive, and MUST be lowercase.
o Attribute names are case-sensitive, and MUST be lowercase. o Attribute names are case-sensitive, and MUST be lowercase.
o Attribute values MUST be enclosed in either double quotes or o Attribute values MUST be enclosed in either double quotes or
skipping to change at page 5, line 6 skipping to change at page 5, line 6
value of the rel attribute is a space-separated list of keywords. value of the rel attribute is a space-separated list of keywords.
The list of keywords MUST include the keyword "alternate" in The list of keywords MUST include the keyword "alternate" in
uppercase, lowercase, or mixed case. uppercase, lowercase, or mixed case.
4.2 type attribute 4.2 type attribute
The type attribute MUST be present in an Atom autodiscovery element. The type attribute MUST be present in an Atom autodiscovery element.
As defined in section 12.3 of HTML 4 [W3C.REC-html401-19991224], the As defined in section 12.3 of HTML 4 [W3C.REC-html401-19991224], the
value of the type attribute of any link element MUST be a registered value of the type attribute of any link element MUST be a registered
Internet media type [RFC2045]. The media type for Atom is Internet media type [RFC2045]. The media type for Atom is
"application/atom+xml" [ATOM-FMT], so in an Atom autodiscovery "application/atom+xml" [I-D.ietf-atompub-format], so in an Atom
element the value of the type attribute MUST contain the string autodiscovery element the value of the type attribute MUST contain
"application/atom+xml" in uppercase, lowercase, or mixed case. the string "application/atom+xml" in uppercase, lowercase, or mixed
case.
4.3 href attribute 4.3 href attribute
The href attribute MUST be present in an Atom autodiscovery element, The href attribute MUST be present in an Atom autodiscovery element,
and its value MUST be the URI [RFC2396] of an Atom feed. The value and its value MUST be the URI [RFC3986] of an Atom feed. The value
MAY be a relative URI, and if so, clients MUST resolve it to a full MAY be a relative URI, and if so, clients MUST resolve it to a full
URI (section 5 of [RFC2396]) using the document's base URI (section URI (section 5 of [RFC3986]) using the document's base URI (section
12.4 of HTML 4 [W3C.REC-html401-19991224]). 12.4 of HTML 4 [W3C.REC-html401-19991224]).
5. Optional attributes 5. Optional attributes
An Atom autodiscovery element MAY contain any other attributes of the An Atom autodiscovery element MAY contain any other attributes of the
link element defined in section 12.4 of HTML 4 link element defined in section 12.4 of HTML 4 [W3C.REC-html401-
[W3C.REC-html401-19991224]. Clients MAY ignore any attributes other 19991224]. Clients MAY ignore any attributes other than rel, type,
than rel, type, and href. and href.
5.1 title attribute 5.1 title attribute
The title attribute MAY be present in an Atom autodiscovery element. The title attribute MAY be present in an Atom autodiscovery element.
If so, the client MAY treat the value of the title attribute as a If so, the client MAY treat the value of the title attribute as a
human-readable label of the Atom feed. Clients MAY present this human-readable label of the Atom feed. Clients MAY present this
label to the end user. label to the end user.
6. Multiple autodiscovery elements 6. Multiple autodiscovery elements
skipping to change at page 10, line 27 skipping to change at page 10, line 27
<link rel="alternate" <link rel="alternate"
type="application/atom+xml" type="application/atom+xml"
title="Atom feed (mirror)" title="Atom feed (mirror)"
href="http://example.org/index.atom"> href="http://example.org/index.atom">
</head> </head>
</html> </html>
8. IANA Considerations 8. IANA Considerations
This document relies on the registration of the Atom media type, This document relies on the registration of the Atom media type,
which is defined in [ATOM-FMT]. which is defined in [I-D.ietf-atompub-format].
9. Security Considerations 9. Security Considerations
Since the entire purpose of an Atom autodiscovery element is for Since the entire purpose of an Atom autodiscovery element is for
clients to dereference the URI given in the href attribute, the clients to dereference the URI given in the href attribute, the
security issues listed in section 7 of [RFC2396] should be security issues listed in section 7 of [RFC3986] should be
considered. considered.
A publisher could construct a malicious URI in the href attribute, A publisher could construct a malicious URI in the href attribute,
such as a "javascript:" URI to include an inline script, or some such as a "javascript:" URI to include an inline script, or some
other URI scheme that typically launches an external program when other URI scheme that typically launches an external program when
dereferenced. Clients should be aware of the security context in dereferenced. Clients should be aware of the security context in
which they execute scripts, and they should give the end user the which they execute scripts, and they should give the end user the
ability to disable the automatic execution of external programs when ability to disable the automatic execution of external programs when
dereferencing autodiscovery URIs. dereferencing autodiscovery URIs.
10. References 10. References
10.1 Normative References 10.1 Normative References
[ATOM-FMT] [I-D.ietf-atompub-format]
Nottingham, M., "The Atom Syndication Format", Sayre, R. and M. Nottingham, "The Atom Syndication
draft-ietf-atompub-format, work in progress, July 2004. Format", draft-ietf-atompub-format-08 (work in progress),
April 2005.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2396] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifiers (URI): Generic Syntax", RFC 2396, Resource Identifier (URI): Generic Syntax", STD 66,
August 1998. RFC 3986, January 2005.
[W3C.REC-xml-20001006] [W3C.REC-xml-20040204]
Bray, T., Paoli, J., Sperberg-McQueen, C. and E. Maler, Yergeau, F., Paoli, J., Sperberg-McQueen, C., Bray, T.,
"Extensible Markup Language (XML) 1.0 (Second Edition)", and E. Maler, "Extensible Markup Language (XML) 1.0 (Third
W3C REC REC-xml-20001006, October 2000. Edition)", W3C REC REC-xml-20040204, February 2004.
10.2 Informative References 10.2 Informative References
[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message Extensions (MIME) Part One: Format of Internet Message
Bodies", RFC 2045, November 1996. Bodies", RFC 2045, November 1996.
[W3C.REC-html401-19991224] [W3C.REC-html401-19991224]
Raggett, D., Hors, A. and I. Jacobs, "HTML 4.01 Hors, A., Jacobs, I., and D. Raggett, "HTML 4.01
Specification", W3C REC REC-html401-19991224, December Specification", W3C REC REC-html401-19991224,
1999. December 1999.
[W3C.REC-xhtml1-20020801] [W3C.REC-xhtml1-20020801]
Pemberton, S., "XHTML 1.0 The Extensible HyperText Markup Pemberton, S., "XHTML[TM] 1.0 The Extensible HyperText
Language (Second Edition)", W3C REC REC-xhtml1-20020801, Markup Language (Second Edition)", W3C REC REC-xhtml1-
August 2002. 20020801, August 2002.
Author's Address URIs
[1] <http://www.imc.org/atom-syntax/index.html>
Authors' Addresses
Mark Pilgrim Mark Pilgrim
International Business Machines Corporation International Business Machines Corporation
4400 Silicon Drive 4400 Silicon Drive
Durham, NC 27713 Durham, NC 27713
US US
pilgrim@gmail.com
Email: pilgrim@gmail.com
Phil Ringnalda (editor)
Email: philringnalda@gmail.com
Appendix A. Contributors Appendix A. Contributors
The following people contributed to this specification's content: Joe The following people contributed to this specification's content: Joe
Gregorio, Paul Hoffman, and the members of the atom-syntax mailing Gregorio, Paul Hoffman, and the members of the atom-syntax mailing
list. list.
Appendix B. Revision History Appendix B. Revision History
2004-08-17: 2005-05-08:
Updated reference to XML 3rd ed.
Updated RFC 2396 reference to RFC 3986
Added editor
2005-05-03:
Updated boilerplate to RFC 3978
2004-08-17:
Consolidated examples Consolidated examples
Updated author address Updated author address
Added IPR Added IPR
Removed reference to RFC 1808 Removed reference to RFC 1808
2003-12-23: 2003-12-23:
Added security considerations Added security considerations
Added note about order significance with multiple autodiscovery Added note about order significance with multiple autodiscovery
elements elements
2003-12-22: 2003-12-22:
skipping to change at page 13, line 46 skipping to change at page 13, line 46
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement Copyright Statement
Copyright (C) The Internet Society (2004). This document is subject Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights. except as set forth therein, the authors retain all their rights.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/