HOME

TheInfoList



OR:

A media type (also known as a MIME type) is a two-part identifier for file formats and format contents transmitted on the
Internet The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, p ...
. The Internet Assigned Numbers Authority (IANA) is the official authority for the standardization and publication of these classifications. Media types were originally defined in
Request for Comments A Request for Comments (RFC) is a publication in a series from the principal technical development and standards-setting bodies for the Internet, most prominently the Internet Engineering Task Force (IETF). An RFC is authored by individuals or g ...
(MIME) Part One: Format of Internet Message Bodies (Nov 1996) in November 1996 as a part of the '' MIME (Multipurpose Internet Mail Extensions)'' specification, for denoting type of
email Electronic mail (email or e-mail) is a method of exchanging messages ("mail") between people using electronic devices. Email was thus conceived as the electronic ( digital) version of, or counterpart to, mail, at a time when "mail" mean ...
message content and attachments; hence the original name, ''MIME type''. Media types are also used by other internet protocols such as
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
and document file formats such as
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
, for similar purposes.


Naming

A media type consists of a ''type'' and a ''subtype'', which is further structured into a ''tree''. A media type can optionally define a ''suffix'' and ''parameters'': : As of November 1996, the registered types were: , , , , , and . By December 2020, the registered types included the foregoing, plus , , and . An unofficial top-level name in common use is . As an example, an HTML file might be designated . In this example, is the type, is the subtype, and is an optional parameter indicating the character encoding. A subtype typically consists of a media format, but it may or must also contain other content, such as a tree prefix, producer, product or suffix, according to the different rules in registration trees. Types, subtypes, and parameter names are case-insensitive. Parameter values are usually case-sensitive, but may be interpreted in a case-insensitive fashion depending on the intended use.


Common examples

* * * * (.doc) * * * * (.xls) * (.ppt) * (.odt) * (.pptx) * (.xlsx) * (.docx) * * * * (.zst) * * * * (.jpg, .jpeg, .jfif, .pjpeg, .pjp) * * (.svg) * * * * * *


Registration trees

All media types should be registered using the IANA registration procedures. For the efficiency and flexibility of the media type registration process, different structures of subtypes can be registered in registration trees that are distinguished by the use of tree prefixes. Currently the following trees are created: standard (no prefix), vendor ( prefix), personal or vanity ( prefix), unregistered ( prefix). These registration trees were first defined in November 1996 (obsoleted RFC 2048 - currently RFC 6838). New registration trees may be created by
IETF The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements an ...
Standards Action for external registration and management by well-known permanent organizations (e.g. scientific societies).


Standards tree

The standards tree does not use any tree prefix: : Examples: , . Registrations in the standards tree must be either associated with IETF specifications approved directly by the IESG, or registered by an IANA recognized standards-related organization.


Vendor tree

The vendor tree includes media types associated with publicly available products. It uses the tree prefix: : Examples: , . The terms "vendor" and "producer" are considered equivalent in the context. Industry consortia as well as non-commercial entities can register media types in the vendor tree. A registration in the vendor tree may be created by anyone who needs to interchange files associated with some software product or set of products. However, the registration belongs to the vendor or organization producing the software that employs the type being registered, and that vendor or organization can at any time elect to assert ownership of a registration done by a third party.


Personal or vanity tree

The personal or vanity tree includes media types associated with non publicly available products or experimental media types. It uses the tree prefix: : Examples: , .


Unregistered tree

The unregistered tree includes media types intended exclusively for use in private environments and only with the active agreement of the parties exchanging them. It uses the tree prefix: : Examples: , . Media types in this tree cannot be registered. According to RFC 6838 (published in January 2013), any use of types in the unregistered tree is strongly discouraged. In addition, subtypes prefixed with or are no longer considered to be members of this tree. According to obsoleted RFC 2048 (published in November 1996)—it should rarely, if ever, be necessary to use unregistered types, and as such use of any , or prefixes is discouraged. Obsoleted RFC 1590 (published in September 1993) stated that the use of the or prefix may be used for unregistered subtypes. Media types that have been widely deployed (with a subtype prefixed with or ) without being registered, should be, if possible, re-registered with a proper prefixed subtype. If this is not possible, the media type can, after an approval by both the media types reviewer and the IESG, be registered in the standards tree with its unprefixed subtype.


Suffix

Suffix is an augmentation to the media type definition to additionally specify the underlying structure of that media type, allowing for generic processing based on that structure and independent of the exact type's particular semantics. Media types that make use of a named structured syntax should use the appropriate IANA registered for that structured syntax when they are registered. Unregistered suffixes should not be used (since January 2013). Structured syntax suffix registration procedures are defined in RFC 6838. The suffix has been defined since January 2001 (RFC 3023), and was formally included in the initial contents of the Structured Syntax Suffix Registry along with , , , , , and in January 2013 (RFC 6839). Subsequent additions include , , , and .


Mailcap

Mailcap (derived from the phrase "mail capability") is a type of meta file used to configure how MIME-aware applications such as mail clients and web browsers render files of different MIME-types. The mailcap format is defined by RFC 1524 "A User Agent Configuration Mechanism for Multimedia Mail Format Information" but is not defined as an Internet standard. It is supported by most Unix systems. Lines can be comments starting with the # character, or a mime-type followed by how to handle that mime type.


Mime.types

An associated file is the mime.types file, which associates filename extensions with a ''MIME type''. If the MIME type is properly set, this is unnecessary, but MIME types may be incorrectly set, or set to a generic type such as , and mime.types allows one to fall back on the extension in these cases. Similarly, since many file systems do not store MIME type information, but instead rely on the filename extension, a mime.types file is frequently used by web servers to determine MIME type. When ''viewing'' a file, these two work together as follows: associates an extension with a MIME type, while mailcap associates a MIME type with a program. In UNIX-type systems, the mime.types file is usually located at /etc/mime.types and/or $HOME/.mime.types and the format is simply that each line is a space-delimited list of a MIME type, followed by zero or more extensions. For example, the HTML type can be associated with the extensions and by the following line: text/html htm html


Netscape use

The mime.types file dates to
Netscape Netscape Communications Corporation (originally Mosaic Communications Corporation) was an American independent computer services company with headquarters in Mountain View, California and then Dulles, Virginia. Its Netscape web browser was on ...
, where it used a different format;WEBMASTERS
mime types
, John McAnally, Thu, 22 Jan 1998 15:29:29 -0600 (CST)
it used key–value pairs and a comma-separated list of extensions, together with a standard header consisting of a specific comment that identifies the file as a mime.types file, as follows. #--Netscape Communications Corporation MIME Information # Do not delete the above line. It is used to identify the file type. type=text/html exts=htm,html


See also

*
Content negotiation Content negotiation refers to mechanisms defined as a part of HTTP that make it possible to serve different versions of a document (or more generally, representations of a resource) at the same URI, so that user agents can specify which version f ...
* Content sniffing * XML and MIME *
Filename extension A filename extension, file name extension or file extension is a suffix to the name of a computer file (e.g., .txt, .docx, .md). The extension indicates a characteristic of the file contents or its intended use. A filename extension is typically ...


References


External links

* IANA list of official media types
The Python Standard Library , mailcap Mailcap file handling

Common MIME types
fro
Mozilla MDN
{{DEFAULTSORT:Internet Media Type Internet architecture Computer file formats Metadata MIME Linux 1996 introductions