rfc2048.txt (45034B)
1 2 3 4 5 6 7 Network Working Group N. Freed 8 Request for Comments: 2048 Innosoft 9 BCP: 13 J. Klensin 10 Obsoletes: 1521, 1522, 1590 MCI 11 Category: Best Current Practice J. Postel 12 ISI 13 November 1996 14 15 16 Multipurpose Internet Mail Extensions 17 (MIME) Part Four: 18 Registration Procedures 19 20 Status of this Memo 21 22 This document specifies an Internet Best Current Practices for the 23 Internet Community, and requests discussion and suggestions for 24 improvements. Distribution of this memo is unlimited. 25 26 Abstract 27 28 STD 11, RFC 822, defines a message representation protocol specifying 29 considerable detail about US-ASCII message headers, and leaves the 30 message content, or message body, as flat US-ASCII text. This set of 31 documents, collectively called the Multipurpose Internet Mail 32 Extensions, or MIME, redefines the format of messages to allow for 33 34 (1) textual message bodies in character sets other than 35 US-ASCII, 36 37 (2) an extensible set of different formats for non-textual 38 message bodies, 39 40 (3) multi-part message bodies, and 41 42 (4) textual header information in character sets other than 43 US-ASCII. 44 45 These documents are based on earlier work documented in RFC 934, STD 46 11, and RFC 1049, but extends and revises them. Because RFC 822 said 47 so little about message bodies, these documents are largely 48 orthogonal to (rather than a revision of) RFC 822. 49 50 51 52 53 54 55 56 57 58 Freed, et. al. Best Current Practice [Page 1] 59 60 RFC 2048 MIME Registration Procedures November 1996 61 62 63 This fourth document, RFC 2048, specifies various IANA registration 64 procedures for the following MIME facilities: 65 66 (1) media types, 67 68 (2) external body access types, 69 70 (3) content-transfer-encodings. 71 72 Registration of character sets for use in MIME is covered elsewhere 73 and is no longer addressed by this document. 74 75 These documents are revisions of RFCs 1521 and 1522, which themselves 76 were revisions of RFCs 1341 and 1342. An appendix in RFC 2049 77 describes differences and changes from previous versions. 78 79 Table of Contents 80 81 1. Introduction ......................................... 3 82 2. Media Type Registration .............................. 4 83 2.1 Registration Trees and Subtype Names ................ 4 84 2.1.1 IETF Tree ......................................... 4 85 2.1.2 Vendor Tree ....................................... 4 86 2.1.3 Personal or Vanity Tree ........................... 5 87 2.1.4 Special `x.' Tree ................................. 5 88 2.1.5 Additional Registration Trees ..................... 6 89 2.2 Registration Requirements ........................... 6 90 2.2.1 Functionality Requirement ......................... 6 91 2.2.2 Naming Requirements ............................... 6 92 2.2.3 Parameter Requirements ............................ 7 93 2.2.4 Canonicalization and Format Requirements .......... 7 94 2.2.5 Interchange Recommendations ....................... 8 95 2.2.6 Security Requirements ............................. 8 96 2.2.7 Usage and Implementation Non-requirements ......... 9 97 2.2.8 Publication Requirements .......................... 10 98 2.2.9 Additional Information ............................ 10 99 2.3 Registration Procedure .............................. 11 100 2.3.1 Present the Media Type to the Community for Review 11 101 2.3.2 IESG Approval ..................................... 12 102 2.3.3 IANA Registration ................................. 12 103 2.4 Comments on Media Type Registrations ................ 12 104 2.5 Location of Registered Media Type List .............. 12 105 2.6 IANA Procedures for Registering Media Types ......... 12 106 2.7 Change Control ...................................... 13 107 2.8 Registration Template ............................... 14 108 3. External Body Access Types ........................... 14 109 3.1 Registration Requirements ........................... 15 110 3.1.1 Naming Requirements ............................... 15 111 112 113 114 Freed, et. al. Best Current Practice [Page 2] 115 116 RFC 2048 MIME Registration Procedures November 1996 117 118 119 3.1.2 Mechanism Specification Requirements .............. 15 120 3.1.3 Publication Requirements .......................... 15 121 3.1.4 Security Requirements ............................. 15 122 3.2 Registration Procedure .............................. 15 123 3.2.1 Present the Access Type to the Community .......... 16 124 3.2.2 Access Type Reviewer .............................. 16 125 3.2.3 IANA Registration ................................. 16 126 3.3 Location of Registered Access Type List ............. 16 127 3.4 IANA Procedures for Registering Access Types ........ 16 128 4. Transfer Encodings ................................... 17 129 4.1 Transfer Encoding Requirements ...................... 17 130 4.1.1 Naming Requirements ............................... 17 131 4.1.2 Algorithm Specification Requirements .............. 18 132 4.1.3 Input Domain Requirements ......................... 18 133 4.1.4 Output Range Requirements ......................... 18 134 4.1.5 Data Integrity and Generality Requirements ........ 18 135 4.1.6 New Functionality Requirements .................... 18 136 4.2 Transfer Encoding Definition Procedure .............. 19 137 4.3 IANA Procedures for Transfer Encoding Registration... 19 138 4.4 Location of Registered Transfer Encodings List ...... 19 139 5. Authors' Addresses ................................... 20 140 A. Grandfathered Media Types ............................ 21 141 142 1. Introduction 143 144 Recent Internet protocols have been carefully designed to be easily 145 extensible in certain areas. In particular, MIME [RFC 2045] is an 146 open-ended framework and can accommodate additional object types, 147 character sets, and access methods without any changes to the basic 148 protocol. A registration process is needed, however, to ensure that 149 the set of such values is developed in an orderly, well-specified, 150 and public manner. 151 152 This document defines registration procedures which use the Internet 153 Assigned Numbers Authority (IANA) as a central registry for such 154 values. 155 156 Historical Note: The registration process for media types was 157 initially defined in the context of the asynchronous Internet mail 158 environment. In this mail environment there is a need to limit the 159 number of possible media types to increase the likelihood of 160 interoperability when the capabilities of the remote mail system are 161 not known. As media types are used in new environments, where the 162 proliferation of media types is not a hindrance to interoperability, 163 the original procedure was excessively restrictive and had to be 164 generalized. 165 166 167 168 169 170 Freed, et. al. Best Current Practice [Page 3] 171 172 RFC 2048 MIME Registration Procedures November 1996 173 174 175 2. Media Type Registration 176 177 Registration of a new media type or types starts with the 178 construction of a registration proposal. Registration may occur in 179 several different registration trees, which have different 180 requirements as discussed below. In general, the new registration 181 proposal is circulated and reviewed in a fashion appropriate to the 182 tree involved. The media type is then registered if the proposal is 183 acceptable. The following sections describe the requirements and 184 procedures used for each of the different registration trees. 185 186 2.1. Registration Trees and Subtype Names 187 188 In order to increase the efficiency and flexibility of the 189 registration process, different structures of subtype names may be 190 registered to accomodate the different natural requirements for, 191 e.g., a subtype that will be recommended for wide support and 192 implementation by the Internet Community or a subtype that is used to 193 move files associated with proprietary software. The following 194 subsections define registration "trees", distinguished by the use of 195 faceted names (e.g., names of the form "tree.subtree...type"). Note 196 that some media types defined prior to this document do not conform 197 to the naming conventions described below. See Appendix A for a 198 discussion of them. 199 200 2.1.1. IETF Tree 201 202 The IETF tree is intended for types of general interest to the 203 Internet Community. Registration in the IETF tree requires approval 204 by the IESG and publication of the media type registration as some 205 form of RFC. 206 207 Media types in the IETF tree are normally denoted by names that are 208 not explicitly faceted, i.e., do not contain period (".", full stop) 209 characters. 210 211 The "owner" of a media type registration in the IETF tree is assumed 212 to be the IETF itself. Modification or alteration of the 213 specification requires the same level of processing (e.g. standards 214 track) required for the initial registration. 215 216 2.1.2. Vendor Tree 217 218 The vendor tree is used for media types associated with commercially 219 available products. "Vendor" or "producer" are construed as 220 equivalent and very broadly in this context. 221 222 223 224 225 226 Freed, et. al. Best Current Practice [Page 4] 227 228 RFC 2048 MIME Registration Procedures November 1996 229 230 231 A registration may be placed in the vendor tree by anyone who has 232 need to interchange files associated with the particular product. 233 However, the registration formally belongs to the vendor or 234 organization producing the software or file format. Changes to the 235 specification will be made at their request, as discussed in 236 subsequent sections. 237 238 Registrations in the vendor tree will be distinguished by the leading 239 facet "vnd.". That may be followed, at the discretion of the 240 registration, by either a media type name from a well-known producer 241 (e.g., "vnd.mudpie") or by an IANA-approved designation of the 242 producer's name which is then followed by a media type or product 243 designation (e.g., vnd.bigcompany.funnypictures). 244 245 While public exposure and review of media types to be registered in 246 the vendor tree is not required, using the ietf-types list for review 247 is strongly encouraged to improve the quality of those 248 specifications. Registrations in the vendor tree may be submitted 249 directly to the IANA. 250 251 2.1.3. Personal or Vanity Tree 252 253 Registrations for media types created experimentally or as part of 254 products that are not distributed commercially may be registered in 255 the personal or vanity tree. The registrations are distinguished by 256 the leading facet "prs.". 257 258 The owner of "personal" registrations and associated specifications 259 is the person or entity making the registration, or one to whom 260 responsibility has been transferred as described below. 261 262 While public exposure and review of media types to be registered in 263 the personal tree is not required, using the ietf-types list for 264 review is strongly encouraged to improve the quality of those 265 specifications. Registrations in the personl tree may be submitted 266 directly to the IANA. 267 268 2.1.4. Special `x.' Tree 269 270 For convenience and symmetry with this registration scheme, media 271 type names with "x." as the first facet may be used for the same 272 purposes for which names starting in "x-" are normally used. These 273 types are unregistered, experimental, and should be used only with 274 the active agreement of the parties exchanging them. 275 276 277 278 279 280 281 282 Freed, et. al. Best Current Practice [Page 5] 283 284 RFC 2048 MIME Registration Procedures November 1996 285 286 287 However, with the simplified registration procedures described above 288 for vendor and personal trees, it should rarely, if ever, be 289 necessary to use unregistered experimental types, and as such use of 290 both "x-" and "x." forms is discouraged. 291 292 2.1.5. Additional Registration Trees 293 294 From time to time and as required by the community, the IANA may, 295 with the advice and consent of the IESG, create new top-level 296 registration trees. It is explicitly assumed that these trees may be 297 created for external registration and management by well-known 298 permanent bodies, such as scientific societies for media types 299 specific to the sciences they cover. In general, the quality of 300 review of specifications for one of these additional registration 301 trees is expected to be equivalent to that which IETF would give to 302 registrations in its own tree. Establishment of these new trees will 303 be announced through RFC publication approved by the IESG. 304 305 2.2. Registration Requirements 306 307 Media type registration proposals are all expected to conform to 308 various requirements laid out in the following sections. Note that 309 requirement specifics sometimes vary depending on the registration 310 tree, again as detailed in the following sections. 311 312 2.2.1. Functionality Requirement 313 314 Media types must function as an actual media format: Registration of 315 things that are better thought of as a transfer encoding, as a 316 character set, or as a collection of separate entities of another 317 type, is not allowed. For example, although applications exist to 318 decode the base64 transfer encoding [RFC 2045], base64 cannot be 319 registered as a media type. 320 321 This requirement applies regardless of the registration tree 322 involved. 323 324 2.2.2. Naming Requirements 325 326 All registered media types must be assigned MIME type and subtype 327 names. The combination of these names then serves to uniquely 328 identify the media type and the format of the subtype name identifies 329 the registration tree. 330 331 The choice of top-level type name must take the nature of media type 332 involved into account. For example, media normally used for 333 representing still images should be a subtype of the image content 334 type, whereas media capable of representing audio information belongs 335 336 337 338 Freed, et. al. Best Current Practice [Page 6] 339 340 RFC 2048 MIME Registration Procedures November 1996 341 342 343 under the audio content type. See RFC 2046 for additional information 344 on the basic set of top-level types and their characteristics. 345 346 New subtypes of top-level types must conform to the restrictions of 347 the top-level type, if any. For example, all subtypes of the 348 multipart content type must use the same encapsulation syntax. 349 350 In some cases a new media type may not "fit" under any currently 351 defined top-level content type. Such cases are expected to be quite 352 rare. However, if such a case arises a new top-level type can be 353 defined to accommodate it. Such a definition must be done via 354 standards-track RFC; no other mechanism can be used to define 355 additional top-level content types. 356 357 These requirements apply regardless of the registration tree 358 involved. 359 360 2.2.3. Parameter Requirements 361 362 Media types may elect to use one or more MIME content type 363 parameters, or some parameters may be automatically made available to 364 the media type by virtue of being a subtype of a content type that 365 defines a set of parameters applicable to any of its subtypes. In 366 either case, the names, values, and meanings of any parameters must 367 be fully specified when a media type is registered in the IETF tree, 368 and should be specified as completely as possible when media types 369 are registered in the vendor or personal trees. 370 371 New parameters must not be defined as a way to introduce new 372 functionality in types registered in the IETF tree, although new 373 parameters may be added to convey additional information that does 374 not otherwise change existing functionality. An example of this 375 would be a "revision" parameter to indicate a revision level of an 376 external specification such as JPEG. Similar behavior is encouraged 377 for media types registered in the vendor or personal trees but is not 378 required. 379 380 2.2.4. Canonicalization and Format Requirements 381 382 All registered media types must employ a single, canonical data 383 format, regardless of registration tree. 384 385 A precise and openly available specification of the format of each 386 media type is required for all types registered in the IETF tree and 387 must at a minimum be referenced by, if it isn't actually included in, 388 the media type registration proposal itself. 389 390 391 392 393 394 Freed, et. al. Best Current Practice [Page 7] 395 396 RFC 2048 MIME Registration Procedures November 1996 397 398 399 The specifications of format and processing particulars may or may 400 not be publically available for media types registered in the vendor 401 tree, and such registration proposals are explicitly permitted to 402 include only a specification of which software and version produce or 403 process such media types. References to or inclusion of format 404 specifications in registration proposals is encouraged but not 405 required. 406 407 Format specifications are still required for registration in the 408 personal tree, but may be either published as RFCs or otherwise 409 deposited with IANA. The deposited specifications will meet the same 410 criteria as those required to register a well-known TCP port and, in 411 particular, need not be made public. 412 413 Some media types involve the use of patented technology. The 414 registration of media types involving patented technology is 415 specifically permitted. However, the restrictions set forth in RFC 416 1602 on the use of patented technology in standards-track protocols 417 must be respected when the specification of a media type is part of a 418 standards-track protocol. 419 420 2.2.5. Interchange Recommendations 421 422 Media types should, whenever possible, interoperate across as many 423 systems and applications as possible. However, some media types will 424 inevitably have problems interoperating across different platforms. 425 Problems with different versions, byte ordering, and specifics of 426 gateway handling can and will arise. 427 428 Universal interoperability of media types is not required, but known 429 interoperability issues should be identified whenever possible. 430 Publication of a media type does not require an exhaustive review of 431 interoperability, and the interoperability considerations section is 432 subject to continuing evaluation. 433 434 These recommendations apply regardless of the registration tree 435 involved. 436 437 2.2.6. Security Requirements 438 439 An analysis of security issues is required for for all types 440 registered in the IETF Tree. (This is in accordance with the basic 441 requirements for all IETF protocols.) A similar analysis for media 442 types registered in the vendor or personal trees is encouraged but 443 not required. However, regardless of what security analysis has or 444 has not been done, all descriptions of security issues must be as 445 accurate as possible regardless of registration tree. In particular, 446 a statement that there are "no security issues associated with this 447 448 449 450 Freed, et. al. Best Current Practice [Page 8] 451 452 RFC 2048 MIME Registration Procedures November 1996 453 454 455 type" must not be confused with "the security issues associates with 456 this type have not been assessed". 457 458 There is absolutely no requirement that media types registered in any 459 tree be secure or completely free from risks. Nevertheless, all 460 known security risks must be identified in the registration of a 461 media type, again regardless of registration tree. 462 463 The security considerations section of all registrations is subject 464 to continuing evaluation and modification, and in particular may be 465 extended by use of the "comments on media types" mechanism described 466 in subsequent sections. 467 468 Some of the issues that should be looked at in a security analysis of 469 a media type are: 470 471 (1) Complex media types may include provisions for 472 directives that institute actions on a recipient's 473 files or other resources. In many cases provision is 474 made for originators to specify arbitrary actions in an 475 unrestricted fashion which may then have devastating 476 effects. See the registration of the 477 application/postscript media type in RFC 2046 for 478 an example of such directives and how to handle them. 479 480 (2) Complex media types may include provisions for 481 directives that institute actions which, while not 482 directly harmful to the recipient, may result in 483 disclosure of information that either facilitates a 484 subsequent attack or else violates a recipient's 485 privacy in some way. Again, the registration of the 486 application/postscript media type illustrates how such 487 directives can be handled. 488 489 (3) A media type might be targeted for applications that 490 require some sort of security assurance but not provide 491 the necessary security mechanisms themselves. For 492 example, a media type could be defined for storage of 493 confidential medical information which in turn requires 494 an external confidentiality service. 495 496 2.2.7. Usage and Implementation Non-requirements 497 498 In the asynchronous mail environment, where information on the 499 capabilities of the remote mail agent is frequently not available to 500 the sender, maximum interoperability is attained by restricting the 501 number of media types used to those "common" formats expected to be 502 widely implemented. This was asserted in the past as a reason to 503 504 505 506 Freed, et. al. Best Current Practice [Page 9] 507 508 RFC 2048 MIME Registration Procedures November 1996 509 510 511 limit the number of possible media types and resulted in a 512 registration process with a significant hurdle and delay for those 513 registering media types. 514 515 However, the need for "common" media types does not require limiting 516 the registration of new media types. If a limited set of media types 517 is recommended for a particular application, that should be asserted 518 by a separate applicability statement specific for the application 519 and/or environment. 520 521 As such, universal support and implementation of a media type is NOT 522 a requirement for registration. If, however, a media type is 523 explicitly intended for limited use, this should be noted in its 524 registration. 525 526 2.2.8. Publication Requirements 527 528 Proposals for media types registered in the IETF tree must be 529 published as RFCs. RFC publication of vendor and personal media type 530 proposals is encouraged but not required. In all cases IANA will 531 retain copies of all media type proposals and "publish" them as part 532 of the media types registration tree itself. 533 534 Other than in the IETF tree, the registration of a data type does not 535 imply endorsement, approval, or recommendation by IANA or IETF or 536 even certification that the specification is adequate. To become 537 Internet Standards, protocol, data objects, or whatever must go 538 through the IETF standards process. This is too difficult and too 539 lengthy a process for the convenient registration of media types. 540 541 The IETF tree exists for media types that do require require a 542 substantive review and approval process with the vendor and personal 543 trees exist for those that do not. It is expected that applicability 544 statements for particular applications will be published from time to 545 time that recommend implementation of, and support for, media types 546 that have proven particularly useful in those contexts. 547 548 As discussed above, registration of a top-level type requires 549 standards-track processing and, hence, RFC publication. 550 551 2.2.9. Additional Information 552 553 Various sorts of optional information may be included in the 554 specification of a media type if it is available: 555 556 (1) Magic number(s) (length, octet values). Magic numbers 557 are byte sequences that are always present and thus can 558 be used to identify entities as being of a given media 559 560 561 562 Freed, et. al. Best Current Practice [Page 10] 563 564 RFC 2048 MIME Registration Procedures November 1996 565 566 567 type. 568 569 (2) File extension(s) commonly used on one or more 570 platforms to indicate that some file containing a given 571 type of media. 572 573 (3) Macintosh File Type code(s) (4 octets) used to label 574 files containing a given type of media. 575 576 Such information is often quite useful to implementors and if 577 available should be provided. 578 579 2.3. Registration Procedure 580 581 The following procedure has been implemented by the IANA for review 582 and approval of new media types. This is not a formal standards 583 process, but rather an administrative procedure intended to allow 584 community comment and sanity checking without excessive time delay. 585 For registration in the IETF tree, the normal IETF processes should 586 be followed, treating posting of an internet-draft and announcement 587 on the ietf-types list (as described in the next subsection) as a 588 first step. For registrations in the vendor or personal tree, the 589 initial review step described below may be omitted and the type 590 registered directly by submitting the template and an explanation 591 directly to IANA (at iana@iana.org). However, authors of vendor or 592 personal media type specifications are encouraged to seek community 593 review and comment whenever that is feasible. 594 595 2.3.1. Present the Media Type to the Community for Review 596 597 Send a proposed media type registration to the "ietf-types@iana.org" 598 mailing list for a two week review period. This mailing list has 599 been established for the purpose of reviewing proposed media and 600 access types. Proposed media types are not formally registered and 601 must not be used; the "x-" prefix specified in RFC 2045 can be used 602 until registration is complete. 603 604 The intent of the public posting is to solicit comments and feedback 605 on the choice of type/subtype name, the unambiguity of the references 606 with respect to versions and external profiling information, and a 607 review of any interoperability or security considerations. The 608 submitter may submit a revised registration, or withdraw the 609 registration completely, at any time. 610 611 612 613 614 615 616 617 618 Freed, et. al. Best Current Practice [Page 11] 619 620 RFC 2048 MIME Registration Procedures November 1996 621 622 623 2.3.2. IESG Approval 624 625 Media types registered in the IETF tree must be submitted to the IESG 626 for approval. 627 628 2.3.3. IANA Registration 629 630 Provided that the media type meets the requirements for media types 631 and has obtained approval that is necessary, the author may submit 632 the registration request to the IANA, which will register the media 633 type and make the media type registration available to the community. 634 635 2.4. Comments on Media Type Registrations 636 637 Comments on registered media types may be submitted by members of the 638 community to IANA. These comments will be passed on to the "owner" 639 of the media type if possible. Submitters of comments may request 640 that their comment be attached to the media type registration itself, 641 and if IANA approves of this the comment will be made accessible in 642 conjunction with the type registration itself. 643 644 2.5. Location of Registered Media Type List 645 646 Media type registrations will be posted in the anonymous FTP 647 directory "ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/" 648 and all registered media types will be listed in the periodically 649 issued "Assigned Numbers" RFC [currently STD 2, RFC 1700]. The media 650 type description and other supporting material may also be published 651 as an Informational RFC by sending it to "rfc-editor@isi.edu" (please 652 follow the instructions to RFC authors [RFC-1543]). 653 654 2.6. IANA Procedures for Registering Media Types 655 656 The IANA will only register media types in the IETF tree in response 657 to a communication from the IESG stating that a given registration 658 has been approved. Vendor and personal types will be registered by 659 the IANA automatically and without any formal review as long as the 660 following minimal conditions are met: 661 662 (1) Media types must function as an actual media format. 663 In particular, character sets and transfer encodings 664 may not be registered as media types. 665 666 (2) All media types must have properly formed type and 667 subtype names. All type names must be defined by a 668 standards-track RFC. All subtype names must be unique, 669 must conform to the MIME grammar for such names, and 670 must contain the proper tree prefix. 671 672 673 674 Freed, et. al. Best Current Practice [Page 12] 675 676 RFC 2048 MIME Registration Procedures November 1996 677 678 679 (3) Types registered in the personal tree must either 680 provide a format specification or a pointer to one. 681 682 (4) Any security considerations given must not be obviously 683 bogus. (It is neither possible nor necessary for the 684 IANA to conduct a comprehensive security review of 685 media type registrations. Nevertheless, IANA has the 686 authority to identify obviously incompetent material 687 and exclude it.) 688 689 2.7. Change Control 690 691 Once a media type has been published by IANA, the author may request 692 a change to its definition. The descriptions of the different 693 registration trees above designate the "owners" of each type of 694 registration. The change request follows the same procedure as the 695 registration request: 696 697 (1) Publish the revised template on the ietf-types list. 698 699 (2) Leave at least two weeks for comments. 700 701 (3) Publish using IANA after formal review if required. 702 703 Changes should be requested only when there are serious omission or 704 errors in the published specification. When review is required, a 705 change request may be denied if it renders entities that were valid 706 under the previous definition invalid under the new definition. 707 708 The owner of a content type may pass responsibility for the content 709 type to another person or agency by informing IANA and the ietf-types 710 list; this can be done without discussion or review. 711 712 The IESG may reassign responsibility for a media type. The most 713 common case of this will be to enable changes to be made to types 714 where the author of the registration has died, moved out of contact 715 or is otherwise unable to make changes that are important to the 716 community. 717 718 Media type registrations may not be deleted; media types which are no 719 longer believed appropriate for use can be declared OBSOLETE by a 720 change to their "intended use" field; such media types will be 721 clearly marked in the lists published by IANA. 722 723 724 725 726 727 728 729 730 Freed, et. al. Best Current Practice [Page 13] 731 732 RFC 2048 MIME Registration Procedures November 1996 733 734 735 2.8. Registration Template 736 737 To: ietf-types@iana.org 738 Subject: Registration of MIME media type XXX/YYY 739 740 MIME media type name: 741 742 MIME subtype name: 743 744 Required parameters: 745 746 Optional parameters: 747 748 Encoding considerations: 749 750 Security considerations: 751 752 Interoperability considerations: 753 754 Published specification: 755 756 Applications which use this media type: 757 758 Additional information: 759 760 Magic number(s): 761 File extension(s): 762 Macintosh File Type Code(s): 763 764 Person & email address to contact for further information: 765 766 Intended usage: 767 768 (One of COMMON, LIMITED USE or OBSOLETE) 769 770 Author/Change controller: 771 772 (Any other information that the author deems interesting may be 773 added below this line.) 774 775 3. External Body Access Types 776 777 RFC 2046 defines the message/external-body media type, whereby a MIME 778 entity can act as pointer to the actual body data in lieu of 779 including the data directly in the entity body. Each 780 message/external-body reference specifies an access type, which 781 determines the mechanism used to retrieve the actual body data. RFC 782 2046 defines an initial set of access types, but allows for the 783 784 785 786 Freed, et. al. Best Current Practice [Page 14] 787 788 RFC 2048 MIME Registration Procedures November 1996 789 790 791 registration of additional access types to accommodate new retrieval 792 mechanisms. 793 794 3.1. Registration Requirements 795 796 New access type specifications must conform to a number of 797 requirements as described below. 798 799 3.1.1. Naming Requirements 800 801 Each access type must have a unique name. This name appears in the 802 access-type parameter in the message/external-body content-type 803 header field, and must conform to MIME content type parameter syntax. 804 805 3.1.2. Mechanism Specification Requirements 806 807 All of the protocols, transports, and procedures used by a given 808 access type must be described, either in the specification of the 809 access type itself or in some other publicly available specification, 810 in sufficient detail for the access type to be implemented by any 811 competent implementor. Use of secret and/or proprietary methods in 812 access types are expressly prohibited. The restrictions imposed by 813 RFC 1602 on the standardization of patented algorithms must be 814 respected as well. 815 816 3.1.3. Publication Requirements 817 818 All access types must be described by an RFC. The RFC may be 819 informational rather than standards-track, although standard-track 820 review and approval are encouraged for all access types. 821 822 3.1.4. Security Requirements 823 824 Any known security issues that arise from the use of the access type 825 must be completely and fully described. It is not required that the 826 access type be secure or that it be free from risks, but that the 827 known risks be identified. Publication of a new access type does not 828 require an exhaustive security review, and the security 829 considerations section is subject to continuing evaluation. 830 Additional security considerations should be addressed by publishing 831 revised versions of the access type specification. 832 833 3.2. Registration Procedure 834 835 Registration of a new access type starts with the construction of a 836 draft of an RFC. 837 838 839 840 841 842 Freed, et. al. Best Current Practice [Page 15] 843 844 RFC 2048 MIME Registration Procedures November 1996 845 846 847 3.2.1. Present the Access Type to the Community 848 849 Send a proposed access type specification to the "ietf- 850 types@iana.org" mailing list for a two week review period. This 851 mailing list has been established for the purpose of reviewing 852 proposed access and media types. Proposed access types are not 853 formally registered and must not be used. 854 855 The intent of the public posting is to solicit comments and feedback 856 on the access type specification and a review of any security 857 considerations. 858 859 3.2.2. Access Type Reviewer 860 861 When the two week period has passed, the access type reviewer, who is 862 appointed by the IETF Applications Area Director, either forwards the 863 request to iana@isi.edu, or rejects it because of significant 864 objections raised on the list. 865 866 Decisions made by the reviewer must be posted to the ietf-types 867 mailing list within 14 days. Decisions made by the reviewer may be 868 appealed to the IESG. 869 870 3.2.3. IANA Registration 871 872 Provided that the access type has either passed review or has been 873 successfully appealed to the IESG, the IANA will register the access 874 type and make the registration available to the community. The 875 specification of the access type must also be published as an RFC. 876 Informational RFCs are published by sending them to "rfc- 877 editor@isi.edu" (please follow the instructions to RFC authors [RFC- 878 1543]). 879 880 3.3. Location of Registered Access Type List 881 882 Access type registrations will be posted in the anonymous FTP 883 directory "ftp://ftp.isi.edu/in-notes/iana/assignments/access-types/" 884 and all registered access types will be listed in the periodically 885 issued "Assigned Numbers" RFC [currently RFC-1700]. 886 887 3.4. IANA Procedures for Registering Access Types 888 889 The identity of the access type reviewer is communicated to the IANA 890 by the IESG. The IANA then only acts in response to access type 891 definitions that either are approved by the access type reviewer and 892 forwarded by the reviewer to the IANA for registration, or in 893 response to a communication from the IESG that an access type 894 definition appeal has overturned the access type reviewer's ruling. 895 896 897 898 Freed, et. al. Best Current Practice [Page 16] 899 900 RFC 2048 MIME Registration Procedures November 1996 901 902 903 4. Transfer Encodings 904 905 Transfer encodings are tranformations applied to MIME media types 906 after conversion to the media type's canonical form. Transfer 907 encodings are used for several purposes: 908 909 (1) Many transports, especially message transports, can 910 only handle data consisting of relatively short lines 911 of text. There can also be severe restrictions on what 912 characters can be used in these lines of text -- some 913 transports are restricted to a small subset of US-ASCII 914 and others cannot handle certain character sequences. 915 Transfer encodings are used to transform binary data 916 into textual form that can survive such transports. 917 Examples of this sort of transfer encoding include the 918 base64 and quoted-printable transfer encodings defined 919 in RFC 2045. 920 921 (2) Image, audio, video, and even application entities are 922 sometimes quite large. Compression algorithms are often 923 quite effective in reducing the size of large entities. 924 Transfer encodings can be used to apply general-purpose 925 non-lossy compression algorithms to MIME entities. 926 927 (3) Transport encodings can be defined as a means of 928 representing existing encoding formats in a MIME 929 context. 930 931 IMPORTANT: The standardization of a large numbers of different 932 transfer encodings is seen as a significant barrier to widespread 933 interoperability and is expressely discouraged. Nevertheless, the 934 following procedure has been defined to provide a means of defining 935 additional transfer encodings, should standardization actually be 936 justified. 937 938 4.1. Transfer Encoding Requirements 939 940 Transfer encoding specifications must conform to a number of 941 requirements as described below. 942 943 4.1.1. Naming Requirements 944 945 Each transfer encoding must have a unique name. This name appears in 946 the Content-Transfer-Encoding header field and must conform to the 947 syntax of that field. 948 949 950 951 952 953 954 Freed, et. al. Best Current Practice [Page 17] 955 956 RFC 2048 MIME Registration Procedures November 1996 957 958 959 4.1.2. Algorithm Specification Requirements 960 961 All of the algorithms used in a transfer encoding (e.g. conversion 962 to printable form, compression) must be described in their entirety 963 in the transfer encoding specification. Use of secret and/or 964 proprietary algorithms in standardized transfer encodings are 965 expressly prohibited. The restrictions imposed by RFC 1602 on the 966 standardization of patented algorithms must be respected as well. 967 968 4.1.3. Input Domain Requirements 969 970 All transfer encodings must be applicable to an arbitrary sequence of 971 octets of any length. Dependence on particular input forms is not 972 allowed. 973 974 It should be noted that the 7bit and 8bit encodings do not conform to 975 this requirement. Aside from the undesireability of having 976 specialized encodings, the intent here is to forbid the addition of 977 additional encodings along the lines of 7bit and 8bit. 978 979 4.1.4. Output Range Requirements 980 981 There is no requirement that a particular tranfer encoding produce a 982 particular form of encoded output. However, the output format for 983 each transfer encoding must be fully and completely documented. In 984 particular, each specification must clearly state whether the output 985 format always lies within the confines of 7bit data, 8bit data, or is 986 simply pure binary data. 987 988 4.1.5. Data Integrity and Generality Requirements 989 990 All transfer encodings must be fully invertible on any platform; it 991 must be possible for anyone to recover the original data by 992 performing the corresponding decoding operation. Note that this 993 requirement effectively excludes all forms of lossy compression as 994 well as all forms of encryption from use as a transfer encoding. 995 996 4.1.6. New Functionality Requirements 997 998 All transfer encodings must provide some sort of new functionality. 999 Some degree of functionality overlap with previously defined transfer 1000 encodings is acceptable, but any new transfer encoding must also 1001 offer something no other transfer encoding provides. 1002 1003 1004 1005 1006 1007 1008 1009 1010 Freed, et. al. Best Current Practice [Page 18] 1011 1012 RFC 2048 MIME Registration Procedures November 1996 1013 1014 1015 4.2. Transfer Encoding Definition Procedure 1016 1017 Definition of a new transfer encoding starts with the construction of 1018 a draft of a standards-track RFC. The RFC must define the transfer 1019 encoding precisely and completely, and must also provide substantial 1020 justification for defining and standardizing a new transfer encoding. 1021 This specification must then be presented to the IESG for 1022 consideration. The IESG can 1023 1024 (1) reject the specification outright as being 1025 inappropriate for standardization, 1026 1027 (2) approve the formation of an IETF working group to work 1028 on the specification in accordance with IETF 1029 procedures, or, 1030 1031 (3) accept the specification as-is and put it directly on 1032 the standards track. 1033 1034 Transfer encoding specifications on the standards track follow normal 1035 IETF rules for standards track documents. A transfer encoding is 1036 considered to be defined and available for use once it is on the 1037 standards track. 1038 1039 4.3. IANA Procedures for Transfer Encoding Registration 1040 1041 There is no need for a special procedure for registering Transfer 1042 Encodings with the IANA. All legitimate transfer encoding 1043 registrations must appear as a standards-track RFC, so it is the 1044 IESG's responsibility to notify the IANA when a new transfer encoding 1045 has been approved. 1046 1047 4.4. Location of Registered Transfer Encodings List 1048 1049 Transfer encoding registrations will be posted in the anonymous FTP 1050 directory "ftp://ftp.isi.edu/in-notes/iana/assignments/transfer- 1051 encodings/" and all registered transfer encodings will be listed in 1052 the periodically issued "Assigned Numbers" RFC [currently RFC-1700]. 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 Freed, et. al. Best Current Practice [Page 19] 1067 1068 RFC 2048 MIME Registration Procedures November 1996 1069 1070 1071 5. Authors' Addresses 1072 1073 For more information, the authors of this document are best 1074 contacted via Internet mail: 1075 1076 Ned Freed 1077 Innosoft International, Inc. 1078 1050 East Garvey Avenue South 1079 West Covina, CA 91790 1080 USA 1081 1082 Phone: +1 818 919 3600 1083 Fax: +1 818 919 3614 1084 EMail: ned@innosoft.com 1085 1086 1087 John Klensin 1088 MCI 1089 2100 Reston Parkway 1090 Reston, VA 22091 1091 1092 Phone: +1 703 715-7361 1093 Fax: +1 703 715-7436 1094 EMail: klensin@mci.net 1095 1096 1097 Jon Postel 1098 USC/Information Sciences Institute 1099 4676 Admiralty Way 1100 Marina del Rey, CA 90292 1101 USA 1102 1103 1104 Phone: +1 310 822 1511 1105 Fax: +1 310 823 6714 1106 EMail: Postel@ISI.EDU 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 Freed, et. al. Best Current Practice [Page 20] 1123 1124 RFC 2048 MIME Registration Procedures November 1996 1125 1126 1127 Appendix A -- Grandfathered Media Types 1128 1129 A number of media types, registered prior to 1996, would, if 1130 registered under the guidelines in this document, be placed into 1131 either the vendor or personal trees. Reregistration of those types 1132 to reflect the appropriate trees is encouraged, but not required. 1133 Ownership and change control principles outlined in this document 1134 apply to those types as if they had been registered in the trees 1135 described above. 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 Freed, et. al. Best Current Practice [Page 21] 1180