MIME Types Revisited
By Lincoln D. Stein
I've been thinking about MIME types recently, particularly in reference to content negotiation, and have come to the conclusion that they have been sadly underutilized in the great race for the Coolest Browser. As you likely know, MIME types are part of the Multipurpose Internet Mail Extension system developed originally for email. The MIME system allows every document sent over the Internet to carry with it a descriptive label that describes its format. The label consists of a generic part describing in broad terms what type of media the document contains (for example "text," "image," or "video") and a specific part describing the document's particular format, for example, "text/html" for HTML documents, "text/tab-separated-values" for tables, or "image/gif" for GIF images. Application-specific documents such as "application/msword" are part of the list of MIME types as well. The
MIME protocol also describes ways to package several different formats into a single document, and transmit eight-bit data across gateways that only accept seven bits.
In a multimedia world where any downloaded document can potentially be in any of a thousand different formats, MIME types are essential to prevent chaos. Imagine what would happen if a browser tried to download and display what seemed to be an HTML file, but instead was an MPEG video file? Browsers can't rely on filename extensions because people working with different operating systems just can't seem to agree.