MIME media types

MIME (Multipurpose Internet Mail Extensions) types characterize the data content of messages exchanged over the Internet. Seven types are defined in the RFC (Request For Comment) 2046 document, by the Network Working Group of the IETF (Internet Engineering Task Force). One more type has been defined since, and provision is set for more to come.

More accurately, they are media types for the MIME which include many other specifications such as message formatting.

In the following quoted texts are excerpts from the RFC2046 document. Highlighting within such text is our own.

1. THE RFC2046 DOCUMENT

The RFC2046 document defines five discrete top-level media types and two composite top-level types, along with some of their subtypes. Discrete media types relate to documents containing a single data type. Composite type documents contain multiple parts having different types.

The five discrete top-level types with their subtypes are:
- textintended for documents conveying textual information
Subtypes defined in the RFC2046 document are:
. plainindicates plain text that 'is intended to be displayed "as-is", that is, no interpretation of embedded formatting commands, font attribute specifications, processing instructions, interpretation directives, or content markup should be necessary for proper display.'
. richtext'used for enriched text in forms where application software may enhance the appearance of the text, but such software must not be required in order to get the general idea of the content'
. enrichedis a revision of the richtext subtype
- imageintended for image contents; rendering of documents containing such data require a special device such as a graphical display, a graphics printer or a fax machine.
Subtypes defined in the documents are:
. gifindicates an image in the GIF (Graphics Interchange Format) format
. jpegindicates an image in the JPEG (Joint Photographic Expert Group) format
- audiointended for aural documents; such documents need an audio output device (speaker or telephone) to be rendered
One subtype was defined:
. basic'the content of the "audio/basic" subtype is single channel audio encoded using 8bit ISDN mu-law [PCM - Pulse Coded Modulation] at a sample rate of 8000 Hz.'
- videointended for documents that contain moving images; necessitates a device capable of rendering such images
One subtype is defined
. mpeg'refers to video coded according to the MPEG (Moving Pictures Expert Group) standard'
.
- application'to be used for data which do not fit in any of the other categories, and particularly for data to be processed by some type of application program... Expected uses for the "application" media type include file transfer, spreadsheets, data for mail-based scheduling systems, and languages for "active" (computational) material.'
Two subtypes are defined:
. octet-stream'to be used in the case of uninterpreted binary data, in which case the simplest recommended action is to offer to write the information into a file for the user
. postscriptdescribes Postcript documents; necessitates a printer or software capable of processing the Postcript language; 'PostScript is a registered trademark of Adobe Systems, Inc. Use of the MIME media type "application/postscript" implies recognition of that trademark and all the rights it entails.'

The composite types are:
- multipart'data consisting of multiple entities of independent data types'
Four subtypes are defined:
. mixedspecifies a generic set of mixed parts
. alternativespecifies a set of parts containing the same data in different types
. parallelspecifies a set of parts to be simultaneously displayed
. digestspecifies a set of parts each of which has a default type of "message/rfc822".
- messagespecifies a document containing encapsulated messages
Three subtypes are defined:
. rfc822the encapsulated content is an RFC822 message as defined in the RFC 822 document -- these are essentially messages composed of a number of header fields, followed by a text body of ASCII characters.
. partialspecifies a partial RFC822 message -- intended for fragmented transmission of large message bodies
. external-bodyfor messages with large parts defined by reference to an external source

2. SOME COMMON SUBTYPES

The types define wide categories of "documents". Subtypes define special contents and the ways and means to process them.

Provision has been made for further subtypes to be added as new needs arise. A document by the IANA (Internet Assigned Numbers Authority), dated from October 16th, 2001 lists a number of registered subtypes of differents types.

Some of the better known subtypes are:

Text type

- text/plainplain text -- defined in RFC2046
- text/richtextenriched text -- defined in RFC2046
- text/enrichedenriched text -- acknowledged in RFC2046
- text/htmlHTML document -- RFC2854
- text/sgmlSGML document -- RFC1874
- text/xmlXML document -- RFC3023
- text/cssCSS style sheet -- RFC2318
- text/rtfRich Text File -- Paul Lindner

Image type

- image/gifimage in GIF (Graphics Interchange Format) format -- defined in RFC2046
- image/jpegimage in JPEG (Joint Photographic Expert Group) format -- defined in RFC2046
- image/pngimage in PNG (pronounced 'ping' -- Portable Network Graphics) format -- Randers-Pehrson
- image/tifftagged image file format -- RFC2302
- image/iefimage exchange format -- RFC1314

Audio type

- audio/basicbasic format -- defined in RFC2046
- audio/L16 -- RFC2586
- audio/mpegaural document in MPEG (Moving Pictures Expert Group) format -- RFC3003
- audio/MP4A-LATM -- RFC3016

Video type

- video/mpegvideo document in (Moving Pictures Expert Group) MPEG format -- defined in RFC2046
- video/quicktime -- defined in Paul Lindner
- video/MP4V-ES -- defined in RFC3016

Application type

- application/octet-stream uninterpreted binary data -- defined in RFC2046
- application/postscript postscript data -- defined in RFC2046
- application/zip zipped data -- described by Paul Lindner
- application/rtf rich text file -- described by Paul Lindner
- application/pdf Adobe Portable Data File -- described by Paul Lindner
- application/macwriteii MacWriter document -- described by Paul Lindner
- application/msword Microsoft Word document -- described by Paul Lindner
- application/EDIFACT EDIFACT document for commercial transactions -- RFC1767
- application/xml XML document -- RFC3023
- application/xml-dtd DTD document -- RFC3023
- application/xml-external-parsed-entity external parsed XML fragment -- RFC3023
- application/http HTTP message -- RFC2616
- application/java JAVA application

Multipart type

- multipart/mixedmultipart message mixing different media types -- defined in RFC2046
- multipart/alternativemultiple entities presenting the same data in different formats -- defined in RFC2046
- multipart/parallelmultiple entities to be presented simultaneously -- defined in RFC2046
- multipart/digestmultipart each of which is a RFC822 message -- defined in RFC2046
- multipart/signedsigned message -- RFC1847
- multipart/encryptedencrypted message -- RFC1847
- multipart/form-data -- RFC2388
- multipart/related -- RFC2387
- multipart/report -- RFC1892

Message type

- message/rfc822RFC822 message; this is a message composed of a number of header fields and a message body of ASCII characters -- RFC822
- message/partialfragmented message -- defined in RFC2046
- message/external-bodies externally referenced large bodied parts -- defined in RFC2046
- message/news -- RFC1036
- message/http -- RFC2616
- message/s-http -- RFC2660