An Internet media type,[1] originally called a MIME type after MIME and sometimes a Content-type after the name of a header in several protocols whose value is such a type, is a two-part identifier for file formats on the Internet. The identifiers were originally defined in RFC 2046 for use in e-mail sent through SMTP, but their use has expanded to other protocols such as HTTP and SIP.
A media type is composed of at least two parts: a type, a subtype, and one or more optional parameters. For example, subtypes of text type have an optional charset parameter that can be included to indicate the character encoding, and subtypes of multipart type often define a boundary between parts.
Types or subtypes that begin with "x-" are nonstandard -- they cannot be registered with IANA.[2] Subtypes that begin with vnd. are vendor-specific; subtypes in the personal or vanity tree begin with prs..[3]
IANA manages a registry of media types and character encodings. The organization makes a list available to the public through the Web. Some of the more notable media types used on the Web are listed below:
application/octet-stream: Arbitrary byte stream. This is thought of as the "default" media type used by several operating systems, often used to identify executable files, files of unknown type, or files that should be downloaded in protocols that do not provide a separate "content disposition" header. RFC 2046 specifies this as the fallback for unrecognized subtypes of other types.