互聯網媒體類型

互聯網媒體類型（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 ANSI ASC X12資料- application/EDIFACT：EDI EDIFACT資料- application/json：JSON（JavaScript Object Notation）- application/javascript：ECMAScript/JavaScript（相當於application/ecmascript但是寬鬆的處理規則）它不被IE 8或更早之前的版本所支援。雖然可以改用text/javascript，但它卻被RFC 4329定義為過時。在HTML5之中，標籤的type的屬性是可省略的，因為所有的瀏覽器即使在HTML5以前都一直預設使用JavaScript。- application/octet-stream：任意的二進制檔案（通常做為通知瀏覽器下載檔案）一般來說，這種類型標識的文件不應該與特定應用程序關聯。與Apache等軟件包過去的假設相反，這種類型不應該應用於未知文件。在這種情況下，服務器或應用程序不應指示內容類型，因為這可能是不正確的，而應該省略類型，以便讓接收者猜測類型。- application/ogg：Ogg視頻文件格式- application/pdf：PDF- 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：XML-binary Optimized Packaging- 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 文件，IGES 文件- 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檔案- text/csv：CSV檔案- text/html：HTML檔案- text/javascript （過時）： JavaScript; 在 RFC 4329 中定義並捨棄，以減少使用，推薦使用 application/javascript。然而，相比於 application/javascript ，在 HTML 4 和 5 中，可以使用text/javascript ，且有跨瀏覽器的支持。因為在使用  時，對於其 "type" 屬性 ，所有瀏覽器都會使用正確的預設值（儘管 HTML 4 的規格中明確要求），所以 HTML 5 中定義為選擇性的，且沒必要。- text/plain：純文字內容與RFC 3676- text/vcard：vCard（電子名片）- text/xml：XML

**Type video**
視頻文件格式檔案（可能包含數字視頻與數位音訊）：- video/mpeg：MPEG-1視頻檔案與RFC 2046- 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檔）

**參考文獻**

**參見**
 影片轉換- Data URI scheme

**外部鏈接**
 IANA的types MIME列表date=20110214191739