[Docs] [txt|pdf|xml|html] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05 06 07 08 09

Network Working Group                                           J. Snell
Internet-Draft                                              May 13, 2010
Updates: 4287 (if approved)
Intended status: Informational
Expires: November 14, 2010


                          Atom Link Extensions
               draft-snell-atompub-link-extensions-04.txt

Abstract

   This specification adds additional attributes to the Atom Syndication
   Format link and content elements that may be used to express
   additional metadata about linked resources.

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 14, 2010.

Copyright Notice

   Copyright (c) 2010 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 14, 2010               [Page 1]


Internet-Draft            Atom Link Extensions                  May 2010


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Notational Conventions  . . . . . . . . . . . . . . . . . . . . 3
   3.  Hash Attributes . . . . . . . . . . . . . . . . . . . . . . . . 3
     3.1.  Computing Hash Digests  . . . . . . . . . . . . . . . . . . 3
     3.2.  The 'md5' attribute . . . . . . . . . . . . . . . . . . . . 3
     3.3.  The 'sha1' attribute  . . . . . . . . . . . . . . . . . . . 4
     3.4.  The 'sha224' attribute  . . . . . . . . . . . . . . . . . . 4
     3.5.  The 'sha256' attribute  . . . . . . . . . . . . . . . . . . 4
     3.6.  The 'sha384' attribute  . . . . . . . . . . . . . . . . . . 5
     3.7.  The 'sha512' attribute  . . . . . . . . . . . . . . . . . . 5
   4.  The 'etag' attribute  . . . . . . . . . . . . . . . . . . . . . 5
   5.  The 'modified' attribute  . . . . . . . . . . . . . . . . . . . 6
   6.  Security Considerations . . . . . . . . . . . . . . . . . . . . 7
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
   8.  Normative References  . . . . . . . . . . . . . . . . . . . . . 7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 7

































Snell                   Expires November 14, 2010               [Page 2]


Internet-Draft            Atom Link Extensions                  May 2010


1.  Introduction

   This specification adds additional attribute to the Atom Syndication
   Format [RFC4287] link and content elements that may be used to
   express additional metadata about linked resources.


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]

   This specification uses XML Namespaces [W3C.REC-xml-names-19990114]
   to uniquely identify XML element names.  It uses the following
   namespace prefix for the indicated namespace URI;

    "atom": "http://www.w3.org/2005/Atom"


3.  Hash Attributes

3.1.  Computing Hash Digests

   When the resource referenced by atom:link or atom:content elements is
   retrievable using HTTP, hash digest values are computed by first
   performing an HTTP GET request on the URL specified by the @href or
   @src attributes, extracting the returned entity-body, then following
   the steps specified in Section 14.15 of [RFC2616].

   It should be noted, however, that there are a variety of factors that
   influence whether the entity-body returned by the HTTP GET will yield
   a hash digest value matching that specified by a hash attribute
   contained by the atom:link or atom:content elements.  Accordingly,
   hash attribute values MUST be considered to be strictly advisory and
   cannot be used reliably as an end-to-end integrity check.

3.2.  The 'md5' attribute

   The 'md5' Attribute specifies a MD5 digest [RFC1864] of the resource
   identified by the atom:link/@href or atom:content/@src attributes.
   The value is represented as a sequence of 32 hexadecimal digits.  The
   'md5' attribute MAY appear as a child of the atom:link and atom:
   content elements.

     md5 = attribute md5 { md5-digest }
     md5-digest   = <hex of 128 bit MD5 digest as per RFC 1864>




Snell                   Expires November 14, 2010               [Page 3]


Internet-Draft            Atom Link Extensions                  May 2010


   An example MD5 digest of an enclosed MP3 file:

     <atom:link rel="enclosure"
       href="http://example.org/media/myfile.mp3"
       md5="9e107d9d372bb6826bd81d3542a419d6" />

3.3.  The 'sha1' attribute

   The 'sha1' Attribute specifies a SHA-1 digest of the resource
   identified by the atom:link/@href or atom:content/@src attributes.
   The value is represented as a sequence of 40 hexadecimal digits.  The
   'sha1' attribute MAY appear as a child of the atom:link and atom:
   content elements.

     sha1 = attribute sha1 { sha1-digest }
     sha1-digest   = <hex of 180 bit SHA-1 digest>

   An example SHA-1 digest of an enclosed MP3 file:

     <atom:link rel="enclosure"
       href="http://example.org/media/myfile.mp3"
       sha1="2fd4e1c67a2d28fced849ee1bb76e7391b93eb12" />

3.4.  The 'sha224' attribute

   The 'sha224' Attribute specifies a SHA-224 digest of the resource
   identified by the atom:link/@href or atom:content/@src attributes.
   The value is represented as a sequence of 56 hexadecimal digits.  The
   'sha224' attribute MAY appear as a child of the atom:link and atom:
   content elements.

     sha224 = attribute sha224 { sha1-digest }
     sha224-digest   = <hex of 224 bit SHA-224 digest>

   An example SHA-224 digest of an enclosed MP3 file:

  <atom:link rel="enclosure"
    href="http://example.org/media/myfile.mp3"
    sha224="2f01b49601d93134b1b75e5046e53aff25ac29119b4465f02814aa15" />

3.5.  The 'sha256' attribute

   The 'sha256' Attribute specifies a SHA-256 digest of the resource
   identified by the atom:link/@href or atom:content/@src attributes.
   The value is represented as a sequence of 64 hexadecimal digits.  The
   'sha256' attribute MAY appear as a child of the atom:link and atom:
   content elements.




Snell                   Expires November 14, 2010               [Page 4]


Internet-Draft            Atom Link Extensions                  May 2010


     sha256 = attribute sha256 { sha1-digest }
     sha256-digest   = <hex of 256 bit SHA-256 digest>

   An example SHA-256 digest of an enclosed MP3 file:

     <atom:link rel="enclosure"
       href="http://example.org/media/myfile.mp3"
       sha256="6bf05cbbde96d6...d5ffe91e29272d805c98b988dc" />

3.6.  The 'sha384' attribute

   The 'sha384' Attribute specifies a SHA-384 digest of the resource
   identified by the atom:link/@href or atom:content/@src attributes.
   The value is represented as a sequence of 96 hexadecimal digits.  The
   'sha384' attribute MAY appear as a child of the atom:link and atom:
   content elements.

     sha384 = attribute sha384 { sha1-digest }
     sha384-digest   = <hex of 384 bit SHA-384 digest>

   An example SHA-384 digest of an enclosed MP3 file:

     <atom:link rel="enclosure"
       href="http://example.org/media/myfile.mp3"
       sha384="2dbf127291a...d56a3c36ec9090ae3fd589abf4c4d" />

3.7.  The 'sha512' attribute

   The 'sha512' Attribute specifies a SHA-512 digest of the resource
   identified by the atom:link/@href or atom:content/@src attributes.
   The value is represented as a sequence of 128 hexadecimal digits.
   The 'sha512' attribute MAY appear as a child of the atom:link and
   atom:content elements.

     sha512 = attribute sha512 { sha1-digest }
     sha512-digest   = <hex of 512 bit SHA-512 digest>

   An example SHA-512 digest of an enclosed MP3 file:

     <atom:link rel="enclosure"
       href="http://example.org/media/myfile.mp3"
       sha512="6e42b2c...e56b2c42aab0a21bbcca67219dc53b472" />


4.  The 'etag' attribute

   The 'etag' Attribute specifies an Entity Tag [RFC2616] for the
   resource identified by the atom:link or atom:content element.  The



Snell                   Expires November 14, 2010               [Page 5]


Internet-Draft            Atom Link Extensions                  May 2010


   'etag' attribute MAY appear as a child of the atom:link and atom:
   content elements.

     etag = attribute le:etag { entity-tag }

     entity-tag = [ weak ] opaque-tag
     weak       = "W/"
     opaque-tag = quoted-string

   An example weak entity tag for an enclosed MP3 file:

     <atom:link rel="enclosure"
        href="http://example.org/media/myfile.mp3"
        etag='W/"xyzzy"' />

   Note that HTTP defines the Entity Tag production such that quotes are
   significant.  For example, the values "W/xyzzy" and W/"xyzzy"
   represent two distinctly different Entity Tags, the former being
   considered a "strong" entity tag, the latter a "weak" entity tag.
   The etag attribute value MUST include the appropriate double
   quotation marks.

   The presence and placement of the quotes in the entity tag value can
   introduce some difficulty when inserting the value into the etag
   attribute.  Producers of Atom documents must either use single quotes
   when specifying the value of the etag attribute, e.g.
   etag='W/"xyzzy"' or use the &quot; entity reference to escape the
   double quotes within the etag value, e.g. etag="W/&quot;xyzzy&quot;".
   A strong entity tag would be encoded as either etag='"xyzzy"' or
   etag="&quot;xyzzy&quot;".


5.  The 'modified' attribute

   The 'modified' Attribute specifies the date and time when the
   resource identified by the atom:link or atom:content element was last
   modified.  The value MUST conform to the "date-time" production
   defined by [RFC3339].  An uppercase "T" character MUST be used to
   separate date and time, and an uppercase "Z" character MUST be
   present in the absence of a numeric time zone offset.  The 'modified'
   attribute MAY appear as a child of the atom:link and atom:content
   elements.

     modified = attribute modified { xsd:dateTime }

   An example last-modified attribute for an enclosed MP3 file:





Snell                   Expires November 14, 2010               [Page 6]


Internet-Draft            Atom Link Extensions                  May 2010


     <atom:link rel="enclosure"
       href="http://example.org/media/myfile.mp3"
       modified="2010-12-12T12:12:12Z" />


6.  Security Considerations

   TBD


7.  IANA Considerations

   No IANA actions are required by this document.


8.  Normative References

   [RFC1864]  Myers, J. and M. Rose, "The Content-MD5 Header Field",
              RFC 1864, October 1995.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

   [RFC3339]  Klyne, G., Ed. and C. Newman, "Date and Time on the
              Internet: Timestamps", RFC 3339, July 2002.

   [RFC4287]  Nottingham, M., Ed. and R. Sayre, Ed., "The Atom
              Syndication Format", RFC 4287, December 2005.

   [W3C.REC-xml-names-19990114]
              Hollander, D., Layman, A., and T. Bray, "Namespaces in
              XML", World Wide Web Consortium FirstEdition REC-xml-
              names-19990114, January 1999,
              <http://www.w3.org/TR/1999/REC-xml-names-19990114>.













Snell                   Expires November 14, 2010               [Page 7]


Internet-Draft            Atom Link Extensions                  May 2010


Author's Address

   James M Snell


   Phone:
   Email: jasnell@us.ibm.com
   URI:   http://ibm.com











































Snell                   Expires November 14, 2010               [Page 8]


Html markup produced by rfcmarkup 1.124, available from https://tools.ietf.org/tools/rfcmarkup/