idnits 2.17.1 draft-ietf-conneg-content-features-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Unrecognized Status in 'Category: Work-in-progress', assuming Proposed Standard (Expected one of 'Standards Track', 'Full Standard', 'Draft Standard', 'Proposed Standard', 'Best Current Practice', 'Informational', 'Experimental', 'Informational', 'Historic'.) -- 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 (30 November 1999) is 8913 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: '4' is mentioned on line 457, but not defined == Missing Reference: '8' is mentioned on line 486, but not defined == Missing Reference: '5' is mentioned on line 468, but not defined == Missing Reference: '6' is mentioned on line 474, but not defined == Missing Reference: '7' is mentioned on line 480, but not defined == Missing Reference: '9' is mentioned on line 490, but not defined ** Obsolete normative reference: RFC 2234 (ref. '3') (Obsoleted by RFC 4234) Summary: 5 errors (**), 0 flaws (~~), 8 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 IETF conneg working group Graham Klyne 2 Internet draft Content Technologies 3 Category: Work-in-progress 30 November 1999 4 Expires: May 2000 6 Indicating media features for MIME content 7 9 Status of this memo 11 This document is an Internet-Draft and is in full conformance with 12 all provisions of Section 10 of RFC 2026. 14 Internet-Drafts are working documents of the Internet Engineering 15 Task Force (IETF), its areas, and its working groups. Note that 16 other groups may also distribute working documents as Internet- 17 Drafts. 19 Internet-Drafts are draft documents valid for a maximum of six 20 months and may be updated, replaced, or obsoleted by other 21 documents at any time. It is inappropriate to use Internet- Drafts 22 as reference material or to cite them other than as "work in 23 progress." 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 31 Copyright Notice 33 Copyright (C) The Internet Society 1999. All Rights Reserved. 35 Abstract 37 In "A syntax for describing media feature sets", an expression 38 format is presented for describing media feature capabilities using 39 simple media feature tags. 41 This memo defines a MIME 'Content-features:' header that can be 42 used to annotate a MIME message part using this expression format, 43 and indicates some ways it might be used. 45 Internet draft Indicating media features for MIME content 46 30 November 1999 48 Table of contents 50 1. Introduction ............................................2 51 1.1 Terminology and document conventions 3 52 1.2 Discussion of this document 3 53 2. Motivation and goals ....................................4 54 3. The 'Content-features:' MIME header .....................4 55 3.1 Usage considerations 4 56 3.1.1 Simple message parts 4 57 3.1.2 Multipart and other composites 5 58 3.1.3 Reference to external data 5 59 4. Examples ................................................5 60 4.1 Simple message 5 61 4.2 Fax message 6 62 4.3 Multipart/alternative data 6 63 4.4 Reference to external message data 7 64 4.5 Compressed data 8 65 4.6 Multipart/related data 8 66 5. Security considerations .................................9 67 6. Acknowledgements ........................................9 68 7. References ..............................................9 69 8. Author's address ........................................10 70 Full copyright statement ...................................11 71 Revision history ...........................................11 73 1. Introduction 75 In "A syntax for describing media feature sets" [1], an expression 76 format is presented for describing media feature capabilities as a 77 combination of simple media feature tags, registered according to 78 "Media Feature Tag Registration Procedure" [2]. This provides a 79 format for message handling agents to describe the media feature 80 content of messages that they can handle. 82 This memo defines a MIME 'Content-features:' header that can be 83 used to annotate a MIME message part using these feature 84 expressions. This header provides a means to indicate media- 85 related features of message content that go beyond the MIME content 86 type. 88 Along with the new MIME header definition, consideration is also 89 given to how it may be used to present message media content 90 information that is problematic to express within the basic MIME 91 framework. 93 Internet draft Indicating media features for MIME content 94 30 November 1999 96 1.1 Terminology and document conventions 98 This section defines a number of terms and other document 99 conventions, which are used with specific meaning in this memo. 101 media feature 102 information that indicates facilities assumed to be 103 available for the message content to be properly rendered 104 or otherwise presented. Media features are not intended 105 to include information that affects message transmission. 107 feature set 108 some set of media features described by a media feature 109 assertion, as described in "A syntax for describing media 110 feature sets" [1]. (See that memo for a more formal 111 definition of this term.) 113 feature set expression 114 a string that describes some feature set, formulated 115 according to the rules in "A syntax for describing media 116 feature sets" [1] (and possibly extended by other 117 specifications). 119 This specification uses syntax notation and conventions described 120 in RFC 2234 "Augmented BNF for Syntax Specifications: ABNF" [3]. 122 NOTE: Comments like this provide additional nonessential 123 information about the rationale behind this document. 124 Such information is not needed for building a conformant 125 implementation, but may help those who wish to understand 126 the design in greater depth. 128 1.2 Discussion of this document 130 Discussion of this document should take place on the content 131 negotiation and media feature registration mailing list hosted by 132 the Internet Mail Consortium (IMC): 134 Please send comments regarding this document to: 136 ietf-medfree@imc.org 138 To subscribe to this list, send a message with the body 'subscribe' 139 to "ietf-medfree-request@imc.org". 141 To see what has gone on before you subscribed, please see the 142 mailing list archive at: 144 http://www.imc.org/ietf-medfree/ 146 Internet draft Indicating media features for MIME content 147 30 November 1999 149 2. Motivation and goals 151 It is envisaged that media feature labelling of message parts may 152 be used in the following ways: 154 o to supply more detailed media feature information about a message 155 content than can be provided by the 'Content-type:' header. 157 o to provide summary media feature information (possibly including 158 MIME content types) about the content of a composite MIME message 159 part (e.g. 'multipart' or 'message'), without having to open up 160 the inner content of the message. 162 o to supply media feature information about external data 163 referenced by a message part (e.g. 'message/external-body' MIME 164 type). This information would not be available by examination of 165 the message content. 167 o to describe the content of a message that is encrypted or encoded 168 using some application-specific file structure that hides the 169 content from a MIME processor. This information also would not 170 be generally available by examination of the message content. 172 3. The 'Content-features:' MIME header 174 A new header field is defined that extends the allowable formats 175 for 'optional-field' [4] with the following syntax: 177 optional-field =/ "Content-features" ":" Feature-expr 178 Feature-expr = filter ; See [1], section 4.1 180 where 'filter' is the media feature expression format defined by "A 181 syntax for describing media feature sets" [1]. 183 This header provides additional information about the message 184 content directly contained or indirectly referenced in the 185 corresponding MIME message part. 187 3.1 Usage considerations 189 3.1.1 Simple message parts 191 When applied to a simple MIME message part, the header should 192 appear just once and is used to convey additional information about 193 the message part content that goes beyond that provided by the MIME 194 'Content-type:' header field. The 'Content-features:' header may 195 indicate a content type that is different than that given by the 196 MIME 'Content-type:' header. This is possible but not recommended 197 when applied to a non-composite body part: in any case, MIME 199 Internet draft Indicating media features for MIME content 200 30 November 1999 202 content type processing must be performed in accordance with the 203 'Content-type:' header. 205 NOTE: Once the message content has been delivered to an 206 application, it is possible that subsequent processing 207 may be affected by content type information indicated by 208 the media feature expression. 210 3.1.2 Multipart and other composites 212 'Content-features:' headers may be applied to a MIME multipart 213 indicating information about the inner content of the multipart. 214 No one-to-one relationship between headers and contained body parts 215 is assumed. 217 If it is important to relate specific media features to specific 218 MIME body parts, then the 'Content-features:' header should be 219 applied directly to the body part concerned, rather than the 220 surrounding composite. 222 NOTE: The intent here is to allow summary media feature 223 information to be provided without having to open up and 224 examine the inner content of the MIME message. 226 Similar usage may apply when the message format is a non-MIME or 227 opaque composite; e.g. 'application/zip', or an encrypted message. 228 In these cases, the option of examining the message content to 229 discover media feature information is not available. 231 3.1.3 Reference to external data 233 Media feature information about data indirectly referenced by a 234 MIME body part rather than contained within message can be conveyed 235 using one or more 'Content-features:' headers. 237 For example, media information --including contained MIME content 238 type(s)-- about the data referenced by a MIME 'Message/external- 239 body' may be conveyed. 241 4. Examples 243 4.1 Simple message 245 Mime-Version: 1.0 246 Content-type: text/plain;charset=US-ASCII 247 Content-features: (& (paper-size=A4) (ua-media=stationery) ) 249 : 250 (data) 251 : 253 Internet draft Indicating media features for MIME content 254 30 November 1999 256 4.2 Fax message 258 Mime-Version: 1.0 259 Content-Type: multipart/mixed; boundary="break" 260 Content-features: 261 (& (Type="image/tiff") 262 (color=Binary) 263 (image-file-structure=TIFF-S) 264 (dpi=200) 265 (dpi-xyratio=200/100) 266 (paper-size=A4) 267 (image-coding=MH) (MRC-mode=0) 268 (ua-media=stationery) ) 270 --break 271 Content-Type: image/tiff; name="coverpage.tiff" 272 Content-Transfer-Encoding: base64 273 Content-Description: This part is a coverpage 274 Content-Disposition: attachment; filename="coverpage.tiff" 276 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAA 277 AAAAAAAAEAAAZAAAAAEAAAD+////AAAAAAAAAAD//////////////////// 278 : 279 (more data) 280 : 281 --break 282 Content-Type: image/tiff; name="document.tiff" 283 Content-Transfer-Encoding: base64 284 Content-Disposition: attachment; filename="document.tiff" 286 AAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABg 287 GgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAA 288 : 289 (more data) 290 : 291 --break-- 293 4.3 Multipart/alternative data 295 This example illustrates two points: 297 o Information about the various parts in a multipart/alternative 298 can be made available before the alternative body parts are 299 processed. This may facilitiate optimum one-pass processing of 300 multipart/alternative data. 302 o There may be alternatives having the same basic MIME content- 303 type, but differing in the content features that they use. 305 Internet draft Indicating media features for MIME content 306 30 November 1999 308 Mime-Version: 1.0 309 Content-Type: multipart/alternative; boundary="break" 310 Content-features: (& (Type="text/plain") (charset=US-ASCII) ) 311 Content-features: 312 (& (Type="text/html") (charset=ISO-8859-1) (color=binary) ) 313 Content-features: 314 (& (Type="text/html") (charset=ISO-8859-1) (color=limited) ) 316 --break 317 Content-type: "text/plain";charset="US-ASCII" 319 : 320 (data) 321 : 322 --break 323 Content-type: text/html;charset="iso-8859-1" 324 Content-features: (color=binary) 326 : 327 (data) 328 : 329 --break 330 Content-type: text/html;charset="iso-8859-1" 331 Content-features: (color=limited) 333 : 334 (data) 335 : 336 --break-- 338 4.4 Reference to external message data 340 Mime-Version: 1.0 341 Content-type: message/external-body; access-type=URL; 342 URL="http://www.foo.com/file1.html" 344 Content-type: Multipart/mixed 345 Content-features: (& (Type="text/plain") (charset=US-ASCII) ) 346 Content-features: (& (Type="image/tiff") (color=limited) ) 348 350 Internet draft Indicating media features for MIME content 351 30 November 1999 353 4.5 Compressed data 355 This example shows how the "Content-features" header can be used to 356 overcome the problem noted in the MIME registration for 357 "Application/zip" regarding information about the data content. 359 Mime-Version: 1.0 360 Content-type: application/zip 361 Content-features: (& (Type="text/plain") (charset=US-ASCII) ) 362 Content-features: (& (Type="image/tiff") (color=limited) ) 363 Content-transfer-encoding: base64 365 : 366 (data) 367 : 368 370 4.6 Multipart/related data 372 (See also: RFC 2387, "The MIME Multipart/Related Content-type" [8]) 374 Mime-Version: 1.0 375 Content-Type: multipart/related; boundary="boundary-example"; 376 type="text/html"; start="" 377 Content-features: (& (type="text/html") (charset=US-ASCII) ) 378 Content-features: (type="image/gif") 380 --boundary-example 381 Content-Type: text/html;charset="US-ASCII" 382 Content-ID: 384 ... text of the HTML document, which might contain a URI 385 referencing a resource in another body part, for example 386 through a statement such as: 387 IETF logo 390 --boundary-example 391 Content-Location: 392 http://www.ietf.cnri.reston.va.us/images/ietflogo.gif 393 Content-Type: IMAGE/GIF 394 Content-Transfer-Encoding: BASE64 396 R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNvcHlyaWdodCAoQykgMTk5 397 NSBJRVRGLiBVbmF1dGhvcml6ZWQgZHVwbGljYXRpb24gcHJvaGliaXRlZC4A 398 etc... 400 --boundary-example-- 402 Internet draft Indicating media features for MIME content 403 30 November 1999 405 5. Security considerations 407 When applied to simple or multipart MIME formatted data, a media 408 feature expression provides summary information about the message 409 data, which in many cases can be determined by examination of the 410 message content. Under these circumstances, no additional security 411 considerations appear to be raised. 413 When applied to other message composites, especially encrypted 414 message content, feature expressions may disclose information that 415 is otherwise unavailable. In these cases, some security 416 considerations associated with media content negotiation [1,2] may 417 have greater relevance. 419 It is suggested here that media feature descriptions may be 420 usefully employed with encrypted message content. In doing this, 421 take care to ensure that the purpose of encryption is not 422 compromised (e.g. encryption might be intended to conceal the fact 423 that a particular application data format is being used, which fact 424 might be disclosed by an injudiciously applied Content-features 425 header). 427 6. Acknowledgements 429 This proposal draws from discussions with Dan Wing. The fax 430 message example was taken from a proposal by Mike Ruhl. The 431 multipart/related example is developed from RFC 2557. 433 The author would like to thank the following people who offered 434 comments that led to significant improvements: Mr Hiroshi Tamura, 435 Ted Hardie, Maurizio Codogno, Jacob Palme. 437 7. References 439 [1] RFC 2533, "A syntax for describing media feature sets" 440 Graham Klyne, 5GM/Content Technologies 441 March 1999. 443 [2] RFC 2506, "Media Feature Tag Registration Procedure" 444 Koen Holtman, TUE 445 Andrew Mutz, Hewlett-Packard 446 Ted Hardie, NASA 447 March 1999. 449 [3] RFC 2234, "Augmented BNF for Syntax Specifications: ABNF" 450 D. Crocker (editor), Internet Mail Consortium 451 P. Overell, Demon Internet Ltd. 452 November 1997. 454 Internet draft Indicating media features for MIME content 455 30 November 1999 457 [4] RFC 822, "Standard for the format of ARPA Internet text messages" 458 D. Crocker, Department of Electrical Engineering, University of 459 Delaware 460 August 1982. 462 To be replaced by: 463 "Internet Message Format Standard" 464 P. Resnick (editor), QUALCOMM Incorporated 465 Internet draft: 466 Work in progress, January 1999. 468 [5] RFC 2045, "Multipurpose Internet Mail Extensions (MIME) 469 Part 1: Format of Internet message bodies" 470 N. Freed, Innosoft 471 N. Borenstein, First Virtual 472 November 1996. 474 [6] RFC 2046, "Multipurpose Internet Mail Extensions (MIME) 475 Part 2: Media types" 476 N. Freed, Innosoft 477 N. Borenstein, First Virtual 478 November 1996. 480 [7] RFC 2017, "Definition of the URL MIME External-Body Access-Type" 481 N. Freed, Innosoft 482 K. Moore, University of Tennessee 483 A. Cargille, WG Chair 484 October 1996 486 [8] RFC 2387, "The MIME Multipart/Related Content-type" 487 E. Levinson 488 August 1998 490 [9] "Registration of Charset and Languages Media Features Tags" 491 Paul Hoffman, IMC 492 Internet draft: 493 Work in progress, July 1999. 495 8. Author's address 497 Graham Klyne 498 Content Technologies Ltd. 499 1220 Parkview, 500 Arlington Business Park 501 Theale 502 Reading, RG7 4SA 503 United Kingdom. 504 Telephone: +44 118 930 1300 505 Facsimile: +44 118 930 1301 506 E-mail: GK@ACM.ORG 508 Internet draft Indicating media features for MIME content 509 30 November 1999 511 Full copyright statement 513 Copyright (C) The Internet Society 1999. All Rights Reserved. 515 This document and translations of it may be copied and furnished to 516 others, and derivative works that comment on or otherwise explain 517 it or assist in its implementation may be prepared, copied, 518 published and distributed, in whole or in part, without restriction 519 of any kind, provided that the above copyright notice and this 520 paragraph are included on all such copies and derivative works. 521 However, this document itself may not be modified in any way, such 522 as by removing the copyright notice or references to the Internet 523 Society or other Internet organizations, except as needed for the 524 purpose of developing Internet standards in which case the 525 procedures for copyrights defined in the Internet Standards process 526 must be followed, or as required to translate it into languages 527 other than English. 529 The limited permissions granted above are perpetual and will not be 530 revoked by the Internet Society or its successors or assigns. 532 This document and the information contained herein is provided on 533 an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET 534 ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR 535 IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 536 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 537 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 539 Revision history 541 [[[RFC editor: please remove this section on publication]]] 543 00a 10-Feb-1999 Initial draft. 545 01a 16-Feb-1999 Added pointers to mailing list for discussion. 547 01b 04-Mar-1999 Various editorial changes. Added placeholder for 548 multipart/related example. 550 01c 13-Apr-1999 Separated multipart/alternative and 551 message/external-body into separate examples. 552 Added example for compressed data. Added example 553 for multipart/related data. Updated references. 555 02a 20-Jul-1999 Incorporated review comments -- editorial changes. 557 02b 29-Nov-1999 Added (charset=...) to (type=text/*) examples. 558 Added citation to charset and language feature 559 registration document. 561 Internet draft Indicating media features for MIME content 562 30 November 1999 564 02c 29-Nov-1999 Indicated motivation for multipart/alternative 565 example. Moved copyright section to end of text.