MIME media types basically stands for Multipurpose Internet Mail Extension media types. These media types were originally created to make emails to include information other than only plain text. These media types shows us following things:
- How text and attachment combined into a single message or emails.
- How different items are encoded for transmission.
MIME basically extends the format of email to:
- Text in character sets other than ASCII
- Header information in non-ASCII character sets
- Attached information other than plain text such as audio, video, application programs etc.
In today’s scenario it is not only used by emails it is also used by many web servers in a way to tell the web browser what type of data is sent to them.
MIME basically consist of two parts.
- Main type
- Sub type
These are further structured into trees. Main type separates sub type by a slash.
Examples of Main types:
application, audio, font, image, message, text
Examples of Sub types:
html, xml, zip, pdf, xls
Some common examples of media types are as follows:
1. application/json 2. audio/mpeg 3. text/pdf
Here before slash is main type and after slash is sub type.
The Internet Assigned Numbers Authority (IANA) is the official authority for the standardization and publication of these classifications.
Original MIME specification only describes structure of mail without any presentation style. But addition of Content Disposition Header it describes structure of mail in presentation styles. A MIME part can have following parts.
- An inline content disposition
- An attachment content disposition
The following example is taken from RFC 2183, where the header is defined:
Content-Disposition: attachment; filename=genome.jpeg; modification-date="Wed, 12 Feb 1997 16:29:51 -0500";
The filename may be encoded as defined by RFC 2231. In HTTP, the Content-Disposition: attachment response header is usually used to hint to the client to present the response body as a downloadable file.
While receiving such a response, a Web browser will prompt the user to save its content as a file rather than displaying it as a page in a browser window, with the filename parameter it suggests the default file name.