MIME型別
MIME型別
1. MIME(Multipurpose Internet Mail Extensions),即多用途網際網路郵件擴充套件型別。
伺服器通過MIME告知響應內容型別,而瀏覽器則通過MIME型別來確定如何處理文件。
2. 當瀏覽器請求一個頁面時,web伺服器會在傳送實際頁面內容之前,先發送一些頭資訊。瀏覽器需要這些資訊來決定如何解析隨後頁面內容。
3. 語法
通用結構 type/subtype
MIME的組成結構非常簡單;由型別與子型別兩個字串中間用’/’分隔而成。不允許空格存在。type表示可以被分多個子類的獨立型別。subtype表示細分後的每個型別。
獨立型別
text/plain
text/html
image/jpeg
image/png
audio/mpeg
audio/ogg
audio/*
audio/mp4
application/*
application/json
application/javascript
application/ecmascript
application/octet-stream
獨立型別表明了對檔案的分類,可以是如下之一:
型別 | 描述 | 典型型別 |
---|---|---|
text | 表名檔案是普通文字,理論是人類可讀 | text/plain,text/html,text/css,text/javascript |
image | 表明是某種圖形。不包括視訊,但是動態圖(gif)也可以使用image型別 | image/gif, image/png, image/jpeg, image/bmp, image/webp, image/x-icon, image/vnd.microsoft.icon |
audio | 表名是某種音訊檔案 | audio/midi, audio/mpeg, audio/webm, audio/ogg, audio/wav |
video | 表明是某種視訊檔案 | video/webm, video/ogg |
application | 表名是某種二進位制 | application/octet-stream, application/pkcs12, application/vnd.mspowerpoint, application/xhtml+xml, application/xml, application/pdf |
4. 重要的MIME型別
application/octet-stream
這是應用程式檔案的預設值。意思是未知的應用程式檔案,瀏覽器一般不會自動執行或詢問執行。瀏覽器會像對待設定了HTTP頭Content-Disposition值為attachment的檔案一樣來對待這類檔案。
text/plain
文字檔案預設值。即使它意味著未知的文字檔案,但瀏覽器認為是可以直接展示的。
text/plain並不意味著某種文字資料。如果瀏覽器想要一個文字檔案的明確型別,瀏覽器並不會考慮他們是否匹配。比如說,如果通過一個表明是下載CSS檔案的連結下載了一個text/plain 檔案。如果提供的資訊是text/plain,瀏覽器並不會認出這是有效的CSS檔案。CSS型別需要使用text/css。
text/css
在網頁中要被解析為CSS的任何CSS檔案必須指定MIME為text/css。通常,伺服器不識別以.css為字尾的檔案的MIME型別,而是將其以MIME為text/plain 或 application/octet-stream 來發送給瀏覽器:在這種情況下,大多數瀏覽器不識別其為CSS檔案,直接忽略掉。特別要注意為CSS檔案提供正確的MIME型別。
text/html
所有的HTML內容都應該使用這種型別。XHTML的其他MIME型別(如application/xml+html)現在基本不再使用(HTML5統一了這種格式)。
JavaScript 型別
據 MIME 嗅探標準,下面是有效的 JavaScript MIME 型別
application/javascript
application/ecmascript
圖片型別
只有一小部分圖片型別是被廣泛支援的,Web安全的,可隨時在Web頁面中使用的:
MIME 型別 | 圖片型別 |
---|---|
image/gif | GIF 圖片 (無損耗壓縮方面被PNG所替代) |
image/jpeg | JPEG 圖片 |
image/png | PNG 圖片 |
image/svg+xml | SVG圖片 (向量圖) |
音訊與視訊型別
HTML並沒有明確定義被用於和元素所支援的檔案型別,所以在web上使用的只有相對較小的一組型別。
在web環境最常用的視訊檔案的格式,是以下這些這些檔案型別:
audio/wave audio/wav audio/x-wav audio/x-pn-wav |
音訊流媒體檔案。一般支援PCM音訊編碼 (WAVE codec "1") ,其他解碼器有限支援(如果有的話)。 |
audio/webm | WebM 音訊檔案格式。Vorbis 和 Opus 是其最常用的解碼器。 |
video/webm | 採用WebM視訊檔案格式的音視訊檔案。VP8 和 VP9是其最常用的視訊解碼器。Vorbis 和 Opus 是其最常用的音訊解碼器。 |
multipart/form-data
可用於HTML表單從瀏覽器傳送資訊給伺服器。作為多部分文件格式,它由邊界線(一個由‘–’開始的字串)劃分出的不同部分組成。每一部分有自己的實體,以及自己的HTTP請求頭,Content-Disposition和Content-Type用於檔案上傳領域,最常用的(Content-Length因為邊界線作為分隔符而被忽略)。