MIME Types, in Brief

In addition to the document type declaration supplied by a page author at the top of a page’s source, the server sends its own data about the formats it serves. This information is sent in MIME (Multipurpose Internet Mail Extensions) format, and it’s included for security reasons. Some commonly encountered MIME types are described in Table A-1.

Table A-1. Commonly encountered MIME types

Resource type

Literal MIME type

HTML

text/html

Properly served XHTML

application/xhtml+xml

Images

image/gif, image/jpeg, image/png, image/svg+xml

Adobe Portable Document Format

application/pdf

Adobe Flash

application/x-shockwave-flash

MP3 audio

audio/mpeg

Windows Media

video/x-ms-wmv, audio/x-ms-wma

There are three universally meaningful ways to specify the MIME type of a file or server response:

Default server response header

Web server configuration facilities provide mechanisms for mapping MIME types to filename extensions.

Custom scripted response header

The HTTP functions of the major web server scripting languages provide interfaces for specifying MIME types on a case-by-case basis: for example, Header("Content-Type: text/xhtml+xml\r\n"); in PHP.

Filename extension

Web browsers make several checks on the content they receive, first by checking the MIME type specified in the response header, then by checking its filename extension, and finally by reading file headers.

Note that reliance on browser behavior is discouraged, because it offers no guidance about how to handle corrupted data like ...

Get HTML & CSS: The Good Parts now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.