knowledge/technology/files/MIME.md
2024-01-17 09:00:45 +01:00

9.2 KiB
Raw Blame History

obj
concept

MIME Type

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 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 RFC 2045 (MIME) Part One: Format of Internet Message Bodies (Nov 1996) in November 1996 as a part of MIME (Multipurpose Internet Mail Extensions) specification, for denoting type of email message content and attachments; hence the original name, MIME type. Media types are also used by other internet protocols such as HTTP and document file formats such as HTML, for similar purposes.

A list of supported MIME Types can be found at /etc/mime.types

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:
type "/" [tree "."] subtype ["+" suffix]* [";" parameter]
As of November 1996, the registered types were: applicationaudioimagemessagemultiparttext and video. By December 2020, the registered types included the foregoing, plus fontexample, and model.

An unofficial top-level name in common use is chemical.

As an example, an HTML file might be designated text/html; charset=UTF-8. In this example, text is the type, html is the subtype, and charset=UTF-8 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 MIME Types Files

Application

MIME Type Extensions Description
application/epub+zip epub -
application/gzip gz tgz ZIP Files
application/http - HTTP
application/javascript .js Javascript
application/json json JSON Data
application/pdf pdf PDF Document
application/pem-certificate-chain pem Certificates
application/pgp-encrypted pgp PGP Data
application/pgp-keys - PGP Keys
application/pgp-signature sig PGP Signatures
application/rtf rtf RTF Document
application/sql sql SQL Databases
application/wasm wasm WebAssembly
application/xml xml XML
application/zip zip ZIP Files
application/zstd zst Zstd Compression
application/x-bittorrent torrent Torrent
application/x-java-archive jar Java
application/x-latex latex LATeX
application/x-rpm rpm Fedora Package
application/x-sh sh Shell
application/x-tar tar TAR
application/x-xz xz XZ Compression
application/msgpack - MessagePack
application/toml  .toml  TOML

Audio

MIME Type Extensions Description
audio/aac adts, aac, ass -
audio/mp4 m4a -
audio/mpeg mp3, mpga, mp1, mp2 -
audio/ogg oga, ogg, opus,spx Ogg
audio/opus - Opus
audio/vorbis - Vorbis
audio/midi mid, midi MIDI
audio/x-aiff aif, aiff, aifc AIFF
audio/x-flac flac FLAC
audio/x-matroska mka Matroska Audio
audio/x-wav wav WAV

Font

MIME Type Extensions Description
font/ttf ttf -
font/otf otf

Image

MIME Type Extensions Description
image/heif heif HEIF Image
image/avif avif AVIF Image
image/bmp bmp BMP Image
image/gif gif GIF Image
image/jpeg jpg, jpeg, jpe, jfif JPEG Image
image/jxl jxl -
image/png png PNG Image
image/svg+xml svg, svgz SVG Image
image/tiff tiff, tif TIFF Image
image/webp webp WebP Image

Message

MIME Type Extensions Description
message/delivery-status - -
message/http - -
message/partial - -

Model

MIME Type Extensions Description
model/mesh msh, mesh, silo 3D Mesh
model/obj obj 3D Object

Multipart

MIME Type Extensions Description
multipart/digest - -
multipart/encrypted - -
multipart/form-data - -
multipart/parallel - -

Text

MIME Type Extensions Description
text/calendar ics Calendar
text/css css CSS Stylesheets
text/csv csv CSV Data
text/directory - -
text/html html, htm HTML Data
text/markdown markdown, md Markdown
text/plain txt, asc, text, pm, el, c, h, cc, hh, cxx, hxx, f90, conf, log Plain Text
text/rtf rtf RTF Document
text/xml xml XML

Video

MIME Type Extensions Description
video/AV1 - AV1
video/H264 - H.264
video/H265 - H.265
video/mp4 mp4, m4a MP4 Video
video/quicktime mov, qt Quicktime
video/webm webm WebM Video
video/x-matroska mkv Matroska