idnits 2.17.1 draft-snell-atompub-link-extensions-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC4287, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). (Using the creation date from RFC4287, updated by this document, for RFC5378 checks: 2004-07-09) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (May 13, 2010) is 5096 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 2616 (Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235) Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Snell 3 Internet-Draft May 13, 2010 4 Updates: 4287 (if approved) 5 Intended status: Informational 6 Expires: November 14, 2010 8 Atom Link Extensions 9 draft-snell-atompub-link-extensions-04.txt 11 Abstract 13 This specification adds additional attributes to the Atom Syndication 14 Format link and content elements that may be used to express 15 additional metadata about linked resources. 17 Status of this Memo 19 This Internet-Draft is submitted to IETF in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at http://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on November 14, 2010. 34 Copyright Notice 36 Copyright (c) 2010 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 52 2. Notational Conventions . . . . . . . . . . . . . . . . . . . . 3 53 3. Hash Attributes . . . . . . . . . . . . . . . . . . . . . . . . 3 54 3.1. Computing Hash Digests . . . . . . . . . . . . . . . . . . 3 55 3.2. The 'md5' attribute . . . . . . . . . . . . . . . . . . . . 3 56 3.3. The 'sha1' attribute . . . . . . . . . . . . . . . . . . . 4 57 3.4. The 'sha224' attribute . . . . . . . . . . . . . . . . . . 4 58 3.5. The 'sha256' attribute . . . . . . . . . . . . . . . . . . 4 59 3.6. The 'sha384' attribute . . . . . . . . . . . . . . . . . . 5 60 3.7. The 'sha512' attribute . . . . . . . . . . . . . . . . . . 5 61 4. The 'etag' attribute . . . . . . . . . . . . . . . . . . . . . 5 62 5. The 'modified' attribute . . . . . . . . . . . . . . . . . . . 6 63 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 64 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 65 8. Normative References . . . . . . . . . . . . . . . . . . . . . 7 66 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 68 1. Introduction 70 This specification adds additional attribute to the Atom Syndication 71 Format [RFC4287] link and content elements that may be used to 72 express additional metadata about linked resources. 74 2. Notational Conventions 76 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 77 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 78 document are to be interpreted as described in BCP 14, [RFC2119] 80 This specification uses XML Namespaces [W3C.REC-xml-names-19990114] 81 to uniquely identify XML element names. It uses the following 82 namespace prefix for the indicated namespace URI; 84 "atom": "http://www.w3.org/2005/Atom" 86 3. Hash Attributes 88 3.1. Computing Hash Digests 90 When the resource referenced by atom:link or atom:content elements is 91 retrievable using HTTP, hash digest values are computed by first 92 performing an HTTP GET request on the URL specified by the @href or 93 @src attributes, extracting the returned entity-body, then following 94 the steps specified in Section 14.15 of [RFC2616]. 96 It should be noted, however, that there are a variety of factors that 97 influence whether the entity-body returned by the HTTP GET will yield 98 a hash digest value matching that specified by a hash attribute 99 contained by the atom:link or atom:content elements. Accordingly, 100 hash attribute values MUST be considered to be strictly advisory and 101 cannot be used reliably as an end-to-end integrity check. 103 3.2. The 'md5' attribute 105 The 'md5' Attribute specifies a MD5 digest [RFC1864] of the resource 106 identified by the atom:link/@href or atom:content/@src attributes. 107 The value is represented as a sequence of 32 hexadecimal digits. The 108 'md5' attribute MAY appear as a child of the atom:link and atom: 109 content elements. 111 md5 = attribute md5 { md5-digest } 112 md5-digest = 114 An example MD5 digest of an enclosed MP3 file: 116 120 3.3. The 'sha1' attribute 122 The 'sha1' Attribute specifies a SHA-1 digest of the resource 123 identified by the atom:link/@href or atom:content/@src attributes. 124 The value is represented as a sequence of 40 hexadecimal digits. The 125 'sha1' attribute MAY appear as a child of the atom:link and atom: 126 content elements. 128 sha1 = attribute sha1 { sha1-digest } 129 sha1-digest = 131 An example SHA-1 digest of an enclosed MP3 file: 133 137 3.4. The 'sha224' attribute 139 The 'sha224' Attribute specifies a SHA-224 digest of the resource 140 identified by the atom:link/@href or atom:content/@src attributes. 141 The value is represented as a sequence of 56 hexadecimal digits. The 142 'sha224' attribute MAY appear as a child of the atom:link and atom: 143 content elements. 145 sha224 = attribute sha224 { sha1-digest } 146 sha224-digest = 148 An example SHA-224 digest of an enclosed MP3 file: 150 154 3.5. The 'sha256' attribute 156 The 'sha256' Attribute specifies a SHA-256 digest of the resource 157 identified by the atom:link/@href or atom:content/@src attributes. 158 The value is represented as a sequence of 64 hexadecimal digits. The 159 'sha256' attribute MAY appear as a child of the atom:link and atom: 160 content elements. 162 sha256 = attribute sha256 { sha1-digest } 163 sha256-digest = 165 An example SHA-256 digest of an enclosed MP3 file: 167 171 3.6. The 'sha384' attribute 173 The 'sha384' Attribute specifies a SHA-384 digest of the resource 174 identified by the atom:link/@href or atom:content/@src attributes. 175 The value is represented as a sequence of 96 hexadecimal digits. The 176 'sha384' attribute MAY appear as a child of the atom:link and atom: 177 content elements. 179 sha384 = attribute sha384 { sha1-digest } 180 sha384-digest = 182 An example SHA-384 digest of an enclosed MP3 file: 184 188 3.7. The 'sha512' attribute 190 The 'sha512' Attribute specifies a SHA-512 digest of the resource 191 identified by the atom:link/@href or atom:content/@src attributes. 192 The value is represented as a sequence of 128 hexadecimal digits. 193 The 'sha512' attribute MAY appear as a child of the atom:link and 194 atom:content elements. 196 sha512 = attribute sha512 { sha1-digest } 197 sha512-digest = 199 An example SHA-512 digest of an enclosed MP3 file: 201 205 4. The 'etag' attribute 207 The 'etag' Attribute specifies an Entity Tag [RFC2616] for the 208 resource identified by the atom:link or atom:content element. The 209 'etag' attribute MAY appear as a child of the atom:link and atom: 210 content elements. 212 etag = attribute le:etag { entity-tag } 214 entity-tag = [ weak ] opaque-tag 215 weak = "W/" 216 opaque-tag = quoted-string 218 An example weak entity tag for an enclosed MP3 file: 220 224 Note that HTTP defines the Entity Tag production such that quotes are 225 significant. For example, the values "W/xyzzy" and W/"xyzzy" 226 represent two distinctly different Entity Tags, the former being 227 considered a "strong" entity tag, the latter a "weak" entity tag. 228 The etag attribute value MUST include the appropriate double 229 quotation marks. 231 The presence and placement of the quotes in the entity tag value can 232 introduce some difficulty when inserting the value into the etag 233 attribute. Producers of Atom documents must either use single quotes 234 when specifying the value of the etag attribute, e.g. 235 etag='W/"xyzzy"' or use the " entity reference to escape the 236 double quotes within the etag value, e.g. etag="W/"xyzzy"". 237 A strong entity tag would be encoded as either etag='"xyzzy"' or 238 etag=""xyzzy"". 240 5. The 'modified' attribute 242 The 'modified' Attribute specifies the date and time when the 243 resource identified by the atom:link or atom:content element was last 244 modified. The value MUST conform to the "date-time" production 245 defined by [RFC3339]. An uppercase "T" character MUST be used to 246 separate date and time, and an uppercase "Z" character MUST be 247 present in the absence of a numeric time zone offset. The 'modified' 248 attribute MAY appear as a child of the atom:link and atom:content 249 elements. 251 modified = attribute modified { xsd:dateTime } 253 An example last-modified attribute for an enclosed MP3 file: 255 259 6. Security Considerations 261 TBD 263 7. IANA Considerations 265 No IANA actions are required by this document. 267 8. Normative References 269 [RFC1864] Myers, J. and M. Rose, "The Content-MD5 Header Field", 270 RFC 1864, October 1995. 272 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 273 Requirement Levels", BCP 14, RFC 2119, March 1997. 275 [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., 276 Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext 277 Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. 279 [RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the 280 Internet: Timestamps", RFC 3339, July 2002. 282 [RFC4287] Nottingham, M., Ed. and R. Sayre, Ed., "The Atom 283 Syndication Format", RFC 4287, December 2005. 285 [W3C.REC-xml-names-19990114] 286 Hollander, D., Layman, A., and T. Bray, "Namespaces in 287 XML", World Wide Web Consortium FirstEdition REC-xml- 288 names-19990114, January 1999, 289 . 291 Author's Address 293 James M Snell 295 Phone: 296 Email: jasnell@us.ibm.com 297 URI: http://ibm.com