What MIME Is
File name extensions are used on computers so software knows what type of file it is being asked to associate with.
As an example, a .txt
file name extension (such as mynotes.txt
) tells the software it is a text file for Mac, PC, and some other computers. As another example, a .png
file name extension (such as myimage.png
) for most operating systems tells the software it is a PNG-formatted image file.
File name extension association for file typing doesn't work on the internet. The reason is because various computer operating systems either have or are likely to have file name extensions different than other types of computers for the same type of file. At least one computer operating system does not associate file types with file name extensions.
The word "MIME" was coined way back in the early days when email with content other than plain text was wanted. MIME is an acronym for Multipurpose Internet Mail Extension.
Nowadays, MIME is used to identify types of files in more than just email. As examples for browsers, a MIME type text/plain
means a plain text file and image/png
means a PNG-formatted image file. A browser must know what type of file it is dealing with. Otherwise, it might try to display an image file as if it was a text file.
Here is how a browser gets the MIME information for files it has to associate with:
When a browser is about to receive a file from the internet, the browser receives a header ahead of the content. The header is plain text. The header provides the browser with information related to the coming content. Among the items in the header is an indication of the content type. The content type part of the header is formatted like this:
Content-type: text/plain
And here is another example:
Content-type: image/png
That is how the browser is told the MIME of the file's content. Thus, the browser knows what type of file it is dealing with.
(As an aside, or as additional information you don't need to know for this article but which may be interesting, here are examples of information that the browser may receive within a header preceding file content are (as applicable): What to do with the file (as with downloads). Cookies (with web pages). File size. File date/time stamp. Server operating system. Text encoding (with text files). Cache instructions. ...)
There are many, many MIME types.
When all you have is a file name extension, the The Complete List of MIME Types page at Sitepoint may be consulted to find an appropriate MIME type.
Some file name extensions are associated with more than one MIME type. The .mp3
extension, for example, is associated with four MIME types. When there are multiple MIME types associated with a file name extension, you'll need to pick the one for the purpose you are using it for.
Browsers are told what type of content they are being sent by letting them know the content's MIME type.
(This content first appeared in Possibilities newsletter.)
Will Bontrager