互联网媒体类型

互联网媒体类型（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;RFC 4329 - Scripting Media Types（相當於application/javascript但是嚴格的處理規則）
 application/EDI-X12：EDI 資料RFC 1767 - MIME Encapsulation of EDI Objects
 application/EDIFACT：EDI EDIFACT資料
 application/json：JSON（JavaScript Object Notation）RFC 4627 -The application/json Media Type for JavaScript Object Notation（JSON）
 application/javascript：ECMAScript/JavaScript（相當於application/ecmascript但是寬鬆的處理規則）它不被IE 8或更早之前的版本所支援。雖然可以改用text/javascript，但它卻被RFC 4329定義為過時。在HTML5之中，<script>標籤的type的屬性是可省略的，因為所有的瀏覽器即使在HTML5以前都一直預設使用JavaScript。
 application/octet-stream：任意的二進制檔案（通常做為通知瀏覽器下載檔案）RFC 2046 - Multipurpose Internet Mail Extensions (MIME) Part Two: Media types一般来说，这种类型标识的文件不应该与特定应用程序关联。与Apache等软件包过去的假设相反，这种类型不应该应用于未知文件。在这种情况下，服务器或应用程序不应指示内容类型，因为这可能是不正确的，而应该省略类型，以便让接收者猜测类型。
 application/ogg：Ogg视频文件格式RFC 5334 - Ogg Media Types
 application/pdf：PDFRFC 3778 - The application/pdf Media Type
 application/postscript：PostScript
 application/rdf+xml：Resource Description FrameworkRFC 3870 - application/rdf+xml Media Type Registration
 application/rss+xml：RSS feeds
 application/soap+xml：SOAPRFC 3902 - The "application/soap+xml" media type
 application/font-woff：Web Open Font Format（推薦使用；使用application/x-font-woff直到它變為官方標準）
 application/xhtml+xml：XHTMLRFC 3236 - The 'application/xhtml+xml' Media Type
 application/xml：XML檔案RFC 3023 - XML Media Types
 application/xml-dtd：DTD檔案
 application/xop+xml：
 application/zip：ZIP壓縮檔
 application/gzip：GzipRFC 6713 -  The 'application/zlib' and 'application/gzip' Media Types

Type audio
數位音訊檔案：
 audio/mp4：MP4音訊檔案RFC 4337 -MIME Type Registration for MPEG-4
 audio/mpeg：MP3或其他MPEG音訊檔案RFC 3003 - The audio/mpeg Media Type
 audio/ogg：Ogg音訊檔案
 audio/vorbis：Vorbis音訊檔案RFC 5215 - RTP Payload Format for Vorbis Encoded Audio
 audio/vnd.rn-realaudio：RealAudio音訊檔案
 audio/vnd.wave：WAV音訊檔案RFC 2361 - WAVE and AVI Codec Registries
 audio/webm：WebM音訊檔案
 audio/flac：FLAC音訊檔案

Type image
圖檔：
 image/gif：GIF圖檔RFC 2045, RFC 2046 - Multipurpose Internet Mail Extensions (MIME), parts 1 and 2
 image/jpeg：JPEG圖檔
 image/png： PNG圖檔RFC 2083 - PNG (Portable Network Graphics) Specification - Version 1.0
 image/webp： WebP圖檔
 image/svg+xml：SVG向量圖檔SVG Tiny 1.2 Specification  Appendix M
 image/tiff：TIFF圖檔RFC 3302 - Tag Image File Format (TIFF) - image/tiff MIME Sub-type Registration
 image/icon：ICO图片文件

Type message
Type model
三维计算机图形檔案：
 model/exampleRFC 4735 - Example Media Types for Use in Documentation
 model/iges：IGS 文件，IGES 文件RFC 2077 - The Model Primary Content Type for Multipurpose Internet Mail Extensions
 model/mesh：MSH 文件，MESH 文件
 model/vrml：WRL 文件，VRML 文件
 model/x3d+binary：X3D ISO 标准，用于表示三维计算机图形、X3DB 二进制文件
 model/x3d+vrml：X3D ISO 标准，用于表示三维计算机图形、X3DB VRML文件
 model/x3d+xml：X3D ISO 标准，用于表示三维计算机图形、X3DB XML 文件

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

Type video
视频文件格式檔案（可能包含数字视频與數位音訊）：
 video/mpeg：MPEG-1視頻檔案RFC 2045與RFC 2046
 video/mp4：MP4視頻檔案RFC 4337 - MIME Type Registration for MPEG-4
 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列表

Category:文件格式