MIME Media Types


MIME (Multipurpose Internet Mail Extension) media types were originally devised so that e-mails could include information other than plain text. MIME media types indicate the following things:

  • How different parts of a message, such as text and attachments, are combined into the message.
  • The way in which each part of the message is specified.
  • The way different items are encoded for transmission so that even software that was designed to work only with ASCII text can process the message.

Now MIME types are not just for use with e-mail; they have been adopted by Web servers as a way to tell Web browsers what type of material was being sent to them so that they can cope with that kind of messages correctly.

MIME content types consist of two parts:

  • A main type

  • A sub-type

The main type is separated from the subtype by a forward slash character. For example, text/html for HTML.

This chapter is organized for the main types:

For example, the text main type contains types of plain text files, such as:

  • text/plain for plain text files

  • text/html for HTML files

  • text/rtf for text files using rich text formatting

MIME types are officially supposed to be assigned and listed by the Internet Assigned Numbers Authority (IANA).

Many of the popular MIME types in this list (all those begin with "x-") are not assigned by the IANA and do not have official status. You can see the list of official MIME types at https://www.iana.org/assignments/media-types/. Those preceded with .vnd are vendor-specific.

When specifying the MIME type of a content-type field you can also indicate the character set for the text being used. If you do not specify a character set, the default is US-ASCII. For example:

content-type:text/plain; charset=iso-8859-1