News:

MyKidsDiary.in :: Capture your kids magical moment and create your Online Private Diary for your kids

Main Menu

What is MIME?

Started by VelMurugan, Dec 13, 2008, 10:48 PM

Previous topic - Next topic

VelMurugan

What is MIME?

MIME, also known as, Multipurpose Internet Mail Extensions, helps the e-mail protocols to permit the users to transfer any kind of image, sound, and program as attachment in email across the World Wide Web. It is because of MIME only that you can send your audios, videos and software programs to other users through email attachments as it is the format of non-text email attachments.

MIME was introduced to extend the current SMTP, or Simple Mail Transport Protocol, in order to send data other than ASCII characters through various web clients and web servers. It, now, provides the following extensions to the current email -

   1. Non-text attachments such as images, videos, audios and other multi-media messages.
   2. Ability to send multiple objects within a single message.
   3. Character sets other than US-ASCII
   4. Writing header information in non-ASCII character sets
   5. Text with unlimited length

Most of us use MIME is one way or another but we hardly recognize this term. As of today, almost every email is transmitted in MIME format through Simple Mail Transport Protocol. HTTP (Hypertext Transfer Protocol) and other communication protocols also benefit from the content types defined by MIME.

Now, let's examine the need of MIME a little bit more. SMTP, e-mail transmission protocol, only supports 7-bit ASCII characters. This, in turn, limits the email to messages which include the characters suitable for writing English and other small number of languages, when transferred. As a result of this limit, languages based on other alphabets which don't support 7-bit ASCII characters can't be correctly presented in a basic email. As we earlier discussed that MIME extends the basic email to support character sets other than 7-bit ASCII, so, this helps in writing email in different languages.

Moreover, MIME also helps in sending other kind of information which was not possible earlier. For example, images, sounds videos and software programs. It is also an underlying component of various communication protocols such as HTTP.

The next thing one should is the Header. It is of great importance as it allows identifying the true nature of the file that is being used in the transmission. And how does this happen? The client who receives the transmission read the header and then according to that header, it selects the protocol to allow the data to be received by the receiver.

Base64 encoding is the term with which everyone should be familiar with. In order to ensure that non-text attachments like images will be transferred with maximum protection, MIME encodes the non-text information into text with an encoding method used as Base64.

As new MIMEs are created every day, so it has become important to register them with Internet Assigned Numbers Authority before releasing it for the usage across the internet.

Source : TechFaqs

kavee

1. Introduction
The first document in this set, RFC 2045, defines a number of header fields, including Content-Type. The Content-Type field is used to specify the nature of the data in the body of a MIME entity, by giving media type and subtype identifiers, and by providing auxiliary information that may be required for certain media types. After the type and subtype names, the remainder of the header field is simply a set of parameters, specified in an attribute/value notation. The ordering of parameters is not significant.

In general, the top-level media type is used to declare the general type of data, while the subtype specifies a specific format for that type of data. Thus, a media type of "image/xyz" is enough to tell a user agent that the data is an image, even if the user agent has no knowledge of the specific image format "xyz". Such information can be used, for example, to decide whether or not to show a user the raw data from an unrecognized subtype -- such an action might be reasonable for unrecognized subtypes of "text", but not for unrecognized subtypes of "image" or "audio". For this reason, registered subtypes of "text", "image", "audio", and "video" should not contain embedded information that is really of a different type. Such compound formats should be represented using the "multipart" or "application" types.

Parameters are modifiers of the media subtype, and as such do not fundamentally affect the nature of the content. The set of meaningful parameters depends on the media type and subtype. Most parameters are associated with a single specific subtype. However, a given top-level media type may define parameters which are applicable to any subtype of that type. Parameters may be required by their defining media type or subtype or they may be optional. MIME implementations must also ignore any parameters whose names they do not recognize.

MIME's Content-Type header field and media type mechanism has been carefully designed to be extensible, and it is expected that the set of media type/subtype pairs and their associated parameters will grow significantly over time. Several other MIME facilities, such as transfer encodings and "message/external-body" access types, are likely to have new values defined over time. In order to ensure that the set of such values is developed in an orderly, well-specified, and public manner, MIME sets up a registration process which uses the Internet Assigned Numbers Authority (IANA) as a central registry for MIME's various areas of extensibility. The registration process for these areas is described in a companion document, RFC 2048. The initial seven standard top-level media type are defined and described in the remainder of this document.