互联网媒体类型

互联网媒体类型（Internet media type，也称为MIME类型（MIME type）或内容类型（content type））是给互联网上传输的内容赋予的分类类型。一份内容的互联网媒体类型是由其檔案格式与内容决定的。互联网媒体类型与文件拓展名相对应，因此计算机系统常常通过拓展名来确定一个文件的媒体类型并决定与其相关联的软件。互联网媒体类型的分类标准由互联网号码分配局（IANA）发布。1996年十一月，媒体类型在RFC 2045中被最初定义，当时仅被使用在SMTP协议的电子邮件中。现在其他的协议（比如HTTP或者SIP）也都常使用MIME类型。
一个MIME类型至少包括两个部分：一个类型（type）和一个子类型（subtype）。此外，它还可能包括一个或多个可选参数（optional parameter）。比如，HTML文件的互联网媒体类型可能是

text/html; charset = UTF-8

在这个例子中，文件类型为text，子类型为html，而charset是一个可选参数，其值为UTF-8。

命名格式
一个MIME类型包括一个类型（type），一个子类型（subtype）。此外可以加上一个或多个可选参数（optional parameter）。其格式为

 类型名 / 子类型名 [ ; 可选参数 ] 

目前已被注册的类型名有application、audio、example、image、message、model、multipart、text，以及video。chemical是一个非官方的常用类型名。此外，非标准的类型名一般会加上x-前缀，但这种做法已经过时。

子类型名通常是一个媒体形式被冠以的名称，不过子类型名中也会有其它信息，包括厂商信息、产品信息、分类信息（子类型会被归进一个树状的分类结构中）、后缀等等。树结构分类信息以被.相互连接的字符串表示。每一个由.分隔开的部分又可以加上与其以-相连接的附加信息。此外，子类型名中也会有放在最后，与前面的内容以+相连接的后缀。因此，一个媒体类型的格式可以被更加细地表示为：

 类型名 / [ 树结构分类信息（中间可能有一个或多个“.”） ] 子类型名（中间可能有一个或多个“-”） [ + 后缀 ] [ ; 可选参数 ] 

这些信息遵循注册树（见下）的规定。

注册树（Registration Tree）
所有的媒体类型都是通过IANA的流程注册的。为了保证注册流程的灵活性与效率，子类型被归进了一个树结构的分类中。树结构信息被放在了子类型名的最前面，以.与其它部分分隔。现在，存在以下几种树：标准树（Standards Tree）、厂商树（Vendor Tree）、个人树（Personal or Vanity Tree）、以及非标准的x.为前缀的树。这些树最早于1996年十一月随着RFC 2048被定义出来。IETF标准行动（Standard Action）可能会创造新的注册树以满足著名的持续性组织（比如科学社区）的注册和管理需求。

标准树
标准树中的子类型名不需要树结构信息（也就是不需要带.的前缀）。

 类型名 / 子类型名 [ + 后缀 ] [ ; 可选参数 ] 

要注册标准树中的子类型，其必须遵从IESG直接批准的IETF规范，或者被由IANA认证的标准相关组织注册。

厂商树
厂商树中包含与公开使用的产品相联系的媒体类型。其使用vnd.前缀。在前缀之后必须是著名厂商的名称或是IANA认证厂商的名称加上表示文件类型和/或内容的文字。

 类型名 / vnd.子类型名 [ + 后缀 ] [ ; 可选参数 ] 

比如与Debian项目组织提供的dpkg相关联的.deb文件的MIME类型是：

application/vnd.debian.binary-package

其中，debian是厂商（生产方）名称，而binary-package是对文件类型和内容的描述。

“厂商”与“生产方”在这个语境下是相同的概念。工业财团和非盈利组织也可以注册厂商树中的媒体类型。任何想要传播与某种软件紧密联系的文件格式的人都可以注册厂商树中的子类型，但是这个子类型是属于该软件或是文件格式的生产方的。这种情况下，厂商可以选择在任何时间声明自己拥有第三方进行的注册的所有权。

个人树
个人树中包含试验性或者不会以商业形式公开的子类型。个人树中的子类型名的前缀是prs.

 类型名 / prs.子类型名 [ + 后缀 ] [ ; 可选参数 ] 

个人树中的子类型属注册者所有，但也可以转让。

未注册的x.树
以x.为第一前缀的子类型名仅能够在私人的、本地的环境中使用。此类型的子类型不能被注册。其只能在相互间同意的各方中传输使用。尽管有时未被注册的MIME类型必须被使用，这是不被推荐的。

 类型名 / x.子类型名 [ + 后缀 ] [ ; 可选参数 ] 

带有x-的子类型名原先被归到这颗树中，但是这种做法已经不被采用。如果一个带有x-前缀的子类型名被广泛使用和接受，其可能最终会被注册并且归进其它树中，尽管x-本身已经过时。

媒体类型列表 
IANA维护着一个媒体类型和字符编码的记录列表。他们的列表通过互联网向公众开放。

Type application
分別對於不同用途的檔案：
 application/atom+xml：Atom feeds
 application/ecmascript：ECMAScript/JavaScript;（相當於application/javascript但是嚴格的處理規則）
 application/EDI-X12：EDI 資料
 application/EDIFACT：EDI EDIFACT資料
 application/json：JSON（JavaScript Object Notation）
 application/javascript：ECMAScript/JavaScript（相當於application/ecmascript但是寬鬆的處理規則）它不被IE 8或更早之前的版本所支援。雖然可以改用text/javascript，但它卻被RFC 4329定義為過時。在HTML5之中，<script>標籤的type的屬性是可省略的，因為所有的瀏覽器即使在HTML5以前都一直預設使用JavaScript。
 application/octet-stream:任意的二進制檔案（通常做為通知瀏覽器下載檔案）Generally speaking this type identifies files that are not associated with a specific application. Contrary to past assumptions by software packages such as Apache this is not a type that should be applied to unknown files. In such a case, a server or application should not indicate a content type, as it may be incorrect, but rather, should omit the type in order to allow the recipient to guess the type.
 application/ogg：Ogg, 视频文件格式
 application/pdf：PDF（Portable Document Format）
 application/postscript：PostScript
 application/rdf+xml：Resource Description Framework
 application/rss+xml：RSS feeds
 application/soap+xml：SOAP
 application/font-woff：Web Open Font Format;（推薦使用；使用application/x-font-woff直到它變為官方標準）
 application/xhtml+xml：XHTML
 application/xml：XML檔案
 application/xml-dtd：DTD檔案
 application/xop+xml：
 application/zip：ZIP壓縮檔
 application/gzip：Gzip

Type audio
數位音訊檔案：
 audio/mp4：MP4音訊檔案
 audio/mpeg：MP3或其他MPEG音訊檔案
 audio/ogg：Ogg音訊檔案
 audio/vorbis：Vorbis音訊檔案
 audio/vnd.rn-realaudio：RealAudio音訊檔案
 audio/vnd.wave：WAV音訊檔案
 audio/webm：WebM音訊檔案
 audio/flac：FLAC音訊檔案

Type image
圖檔：
 image/gif：GIF圖檔
 image/jpeg：JPEG圖檔
 image/png： PNG圖檔
 image/webp： WebP圖檔
 image/svg+xml：SVG向量圖檔
 image/tiff：TIFF圖檔
 image/icon：ICO图片文件。

Type message

Type model
三维计算机图形檔案：
 model/example
 model/iges：IGS files, IGES files
 model/mesh：MSH files, MESH files
 model/vrml：WRL files, VRML files
 model/x3d+binary：X3D ISO standard for representing 3D computer graphics, X3DB binary files
 model/x3d+vrml：X3D ISO standard for representing 3D computer graphics, X3DV VRML files
 model/x3d+xml：X3D ISO standard for representing 3D computer graphics, X3D XML files

Type multipart

Type text
 text/css：CSS檔案
 text/csv：CSV檔案
 text/html：HTML檔案
 text/javascript (過時): JavaScript; 在 RFC 4329 中定義並捨棄，以減少使用，推荐使用 application/javascript。然而，相比於 application/javascript ，在 HTML 4 和 5 中，可以使用text/javascript ，且有跨瀏覽器的支持。因為在使用 <script> 時，對於其 "type" 屬性 ，所有瀏覽器都會使用正確的預設值（儘管 HTML 4 的規格中明確要求），所以 HTML 5 中定義為選擇性的，且沒必要。
 text/plain:純文字內容
 text/vcard：vCard（電子名片）
 text/xml：XML

Type video
视频文件格式檔案（可能包含数字视频與數位音訊）：
 video/mpeg：MPEG-1視頻檔案
 video/mp4：MP4視頻檔案
 video/ogg：Ogg視頻檔案
 video/quicktime：QuickTime視頻檔案
 video/webm：WebM視頻檔案（基於Matroska基礎）
 video/x-matroska：Matroska（多媒體封裝格式）
 video/x-ms-wmv：Windows Media Video視頻檔案
 video/x-flv：Flash Video（FLV檔）

參考文獻

参见 
 影片轉換

外部链接 

IANA的types MIME列表

文件格式