[Next] [Up] [Previous]
Next: HTTP/1.0 Header Fields Up: An extensible and open Previous: Definition of a Top-Level

Overview of the Initial Top-Level Media Types

The five discrete top-level media types are:
  1. text - textual information. The subtype "plain" in particular indicates plain text containing no formatting commands or directives of any sort. Plain text is intended to be displayed "as-is" and no special software is required in order to be displayed by a user agent. Other subtypes are to be used for enriched text in forms where application software may enchance the appearence of the text, but such software is not required in order to get the general idea of the content. Possible subtypes of "text" thus, include any word processor format that can be read without resorting to software that understands the format. A very simple and portable subtype, "richtext", was defined in RFC 1341, with a further revision in RFC 1896 under the name "enriched".
  2. image - image data. "image" requires a display device (such as a graphical display) to view the information. Subtypes are defined for the most widely-used image formats such as jpeg, gif, png, etc.
  3. audio - audio data. "audio" requires an audio output device (such as a speaker) to "display" the contents. Some of the numerous subtypes that are defined for this type, are: basic, mp3, wav, etc.
  4. video - video data. "video" requires the capability to display moving images, typically including specialized hardware and software (e.g. Microsoft Media Player, QuickTime, RealPlayer, etc.). Subtypes which belong to this type's category are: mpeg, mpg, ra, avi, etc.
  5. application - represents some other kind of data, typically either uninterpreted binary data or information to processed by an application. The subtype "octet-stream" is 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. The "postscript" and "pdf" subtypes are also defined for the transport of Postscript and PDF material respectively. Other expected uses for "application" include spreadsheets, data for mail-based scheduling systems, and languages for word processing formats that are not directly readable.
The two composite top-level media types are:
  1. multipart - data consisting of multiple entities of independent data types. Four subtypes were initially defined, including the basic "mixed" subtype specifying a generic mixed set of parts, "alternative" for representing the same data in multiple formats, "parallel" for parts intended to be viewed simultaneously, and "digest" for multipart entities in which each part has a default type of "message/rfc822".
  2. message - an encapsulated message. A body of media type "message" is itself all or a portion of some kind of message object. Such objects may or may not in turn contain other entities. The "rfc822" subtype is used when the encapsulated content is itself an RFC 822 message. The "partial" subtype is defined for partial RFC 822 messages, to permit the fragmented transmission of bodies that are thought to be too large to be passed through transport facilities in one piece. Another subtype, "external-body", is defined for specifying large bodies by reference to an external data source.
It should be noted that the media types/subtypes' discussion that was made in the previous paragraphs, it's intended to be used only as a brief overview and not as an exhaustive guide to the subject. For a more in-depth analysis with regard to the Internet media types, you 're encouraged to refer to the appropriate RFCs and Internet standards track protocols (RFC 2045, 2046, 2047, 2048, 2049, and 2077) as well as the references cited in these. I would also advise and suggest you to have a look at the configuration file(s) that various commercial WWW servers use in order to control what Internet media types should send to the client for given file extensions (e.g. the mime.types file which is contained in the conf directory of the Apache 1.3/2.0 top-level distribution directory).
[Next] [Up] [Previous]
Next: HTTP/1.0 Header Fields Up: An extensible and open Previous: Definition of a Top-Level
Copyright © 2003, John Yannakopoulos <giannak@csd.uoc.gr>