互聯網媒體類型(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)。其格式為

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

目前已被註冊的類型名有applicationaudioexampleimagemessagemodelmultiparttext,以及videochemical是一個非官方的常用類型名。[1]此外,非標準的類型名一般會加上x-字首,但這種做法已經過時。[2]

子類型名通常是一個媒體形式被冠以的名稱,不過子類型名中也會有其它資訊,包括廠商資訊、產品資訊、分類資訊(子類型會被歸進一個樹狀的分類結構中)、字尾等等。樹結構分類資訊以被.相互連接的字串表示。每一個由.分隔開的部分又可以加上與其以-相連接的附加資訊。此外,子類型名中也會有放在最後,與前面的內容以+相連接的字尾。因此,一個媒體類型的格式可以被更加細地表示為:

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

這些資訊遵循註冊樹(見下)的規定。

註冊樹(Registration Tree)

所有的媒體類型都是通過IANA的流程註冊的。為了保證註冊流程的靈活性與效率,子類型被歸進了一個樹結構的分類中。樹結構資訊被放在了子類型名的最前面,以.與其它部分分隔。現在,存在以下幾種樹:標準樹(Standards Tree)、廠商樹(Vendor Tree)、個人樹(Personal or Vanity Tree)、以及非標準的x.為字首的樹。這些樹最早於1996年十一月隨着RFC 2048被定義出來。IETF標準行動(Standard Action)可能會創造新的註冊樹以滿足著名的持續性組織(比如科學社區)的註冊和管理需求。

標準樹

標準樹中的子類型名不需要樹結構資訊(也就是不需要帶.的字首)。[3]

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

要註冊標準樹中的子類型,其必須遵從IESG直接批准的IETF規範,或者被由IANA認證的標準相關組織註冊。

廠商樹

廠商樹中包含與公開使用的產品相聯絡的媒體類型。其使用vnd.字首。在字首之後必須是著名廠商的名稱或是IANA認證廠商的名稱加上表示檔案類型和/或內容的文字。

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

比如與Debian專案組織提供的dpkg相關聯的.deb檔案的MIME類型是:

application/vnd.debian.binary-package

其中,debian是廠商(生產方)名稱,而binary-package是對檔案類型和內容的描述。

「廠商」與「生產方」在這個語境下是相同的概念。工業財團和非盈利組織也可以註冊廠商樹中的媒體類型。任何想要傳播與某種軟件緊密聯絡的檔案格式的人都可以註冊廠商樹中的子類型,但是這個子類型是屬於該軟件或是檔案格式的生產方的。這種情況下,廠商可以選擇在任何時間聲明自己擁有第三方進行的註冊的所有權。[3]

個人樹

個人樹中包含試驗性或者不會以商業形式公開的子類型。個人樹中的子類型名的字首是prs.

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

個人樹中的子類型屬註冊者所有,但也可以轉讓。[3]

未註冊的x.樹

x.為第一字首的子類型名僅能夠在私人的、本地的環境中使用。此類型的子類型不能被註冊。其只能在相互間同意的各方中傳輸使用。儘管有時未被註冊的MIME類型必須被使用,這是不被推薦的。

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

帶有x-的子類型名原先被歸到這顆樹中,但是這種做法已經不被採用。[2]如果一個帶有x-字首的子類型名被廣泛使用和接受,其可能最終會被註冊並且歸進其它樹中[3],儘管x-本身已經過時。[2]

媒體類型列表

IANA維護着一個媒體類型和字元編碼的記錄列表。他們的列表通過互聯網向公眾開放。

Type application

分別對於不同用途的檔案:

  • application/atom+xmlAtom feeds
  • application/ecmascriptECMAScript/JavaScript;[4](相當於application/javascript但是嚴格的處理規則)
  • application/EDI-X12EDI ANSI ASC X12英語ANSI ASC X12資料[5]
  • application/EDIFACTEDI EDIFACT資料[5]
  • application/jsonJSON(JavaScript Object Notation)[6]
  • application/javascriptECMAScript/JavaScript[4](相當於application/ecmascript但是寬鬆的處理規則)它不被IE 8或更早之前的版本所支援。雖然可以改用text/javascript,但它卻被RFC 4329定義為過時。在HTML5之中,<script>標籤的type的屬性是可省略的,因為所有的瀏覽器即使在HTML5以前都一直預設使用JavaScript。
  • application/octet-stream:任意的二進制檔案(通常做為通知瀏覽器下載檔案)[7]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.[8]
  • application/oggOgg, 影片檔格式[9]
  • application/pdfPDF(Portable Document Format)[10]
  • application/postscriptPostScript[7]
  • application/rdf+xmlResource Description Framework[11]
  • application/rss+xmlRSS feeds
  • application/soap+xmlSOAP[12]
  • application/font-woffWeb Open Font Format;(推薦使用;使用application/x-font-woff直到它變為官方標準)
  • application/xhtml+xmlXHTML[13]
  • application/xmlXML檔案[14]
  • application/xml-dtdDTD檔案[14]
  • application/xop+xmlXML-binary Optimized Packaging英語XML-binary Optimized Packaging[15]
  • application/zipZIP壓縮檔[16]
  • application/gzipGzip[17]

Type audio

數碼音頻檔案:

Type image

圖檔:

Type message

Type model

3D電腦圖形檔案:

  • model/example[27]
  • model/iges:IGS files, IGES files[28]
  • model/mesh:MSH files, MESH files[28]
  • model/vrmlWRL files, VRML files[28]
  • model/x3d+binaryX3D ISO standard for representing 3D computer graphics, X3DB binary files
  • model/x3d+vrmlX3D ISO standard for representing 3D computer graphics, X3DV VRML files
  • model/x3d+xmlX3D ISO standard for representing 3D computer graphics, X3D XML files

Type multipart

Type text

  • text/cssCSS檔案[29]
  • text/csvCSV檔案[30]
  • text/htmlHTML檔案[31]
  • text/javascript (過時): JavaScript; 在 RFC 4329 中定義並捨棄,以減少使用,推薦使用 application/javascript。然而,相比於 application/javascript ,在 HTML 4 和 5 中,可以使用text/javascript ,且有跨瀏覽器的支援。因為在使用 <script> 時,對於其 "type" 屬性 ,所有瀏覽器都會使用正確的預設值(儘管 HTML 4 的規格中明確要求),所以 HTML 5 中定義為選擇性的,且沒必要。
  • text/plain:純文字內容[32]
  • text/vcardvCard(電子名片)[33]
  • text/xmlXML[14]

Type video

影片檔格式檔案(可能包含數碼影片數碼音頻):

參考文獻

參見

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.