1. 程式人生 > 實用技巧 >檔案 MIME 型別

檔案 MIME 型別

MIME 型別是: 媒體型別(通常稱為 Multipurpose Internet Mail Extensions 或 MIME 型別 )是一種標準,用來表示文件、檔案或位元組流的性質和格式。它在IETF RFC 6838中進行了定義和標準化。

使用mime的時候要特別注意:瀏覽器通常使用MIME型別(而不是副檔名)來確定如何處理URL,因此Web伺服器在響應頭中新增正確的MIME型別非常重要。如果配置不正確,瀏覽器可能會曲解檔案內容,網站將無法正常工作,並且下載的檔案也會被錯誤處理。

MIME 的通用結構:type/subtype 感覺用它特別方便,但是就不能指定屬於自己的型別!

MIME的組成結構非常簡單;由型別與子型別兩個字串中間用’/'分隔而組成。不允許空格存在。type 表示可以被分多個子類的獨立類別。subtype 表示細分後的每個型別。MIME型別對大小寫不敏感,但是傳統寫法都是小寫。

application/octet-stream 型別
這是應用程式檔案的預設值。意思是 未知的應用程式檔案 ,瀏覽器一般不會自動執行或詢問執行。瀏覽器會像對待 設定了HTTP頭Content-Disposition 值為 attachment 的檔案一樣來對待這類檔案。
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20201008100130814.png#pic_center在這裡插入圖片描述

text/plain 文字檔案預設值。即使它意味著未知的文字檔案,但瀏覽器認為是可以直接展示的。
text/plain並不是意味著某種文字資料。如果瀏覽器想要一個文字檔案的明確型別,瀏覽器並不會考慮他們是否匹配。比如說,如果通過一個表明是下載CSS檔案的連結下載了一個 text/plain 檔案。如果提供的資訊是text/plain,瀏覽器並不會認出這是有效的CSS檔案。CSS型別需要使用text/css。

圖片型別
只有一小部分圖片型別是被廣泛支援的,Web安全的,可隨時在Web頁面中使用的:
在這裡插入圖片描述

此處的型別劃分有一定的爭議,算是不太準確的,對現實中的使用有多少的差異,有人認為此處應該增加 WebP(image/webp),但是每個新增的圖片型別都會增加程式碼的數量,這會帶來一些新的安全問題,所以瀏覽器供應商對於新增型別非常小心。

另外的一些圖片種類可以在Web文件中找到。比如很多瀏覽器支援 icon 型別的圖示作為 favicons或者類似的圖示,並且瀏覽器在MIME型別中的 image/x-icon 支援ICO影象。

很多web伺服器使用預設的 application/octet-stream 來發送未知型別。出於一些安全原因,對於這些資源瀏覽器不允許設定一些自定義預設操作,導致使用者必須儲存到本地以使用。常見的導致伺服器配置錯誤的檔案型別,所以一般情況下,還是使用通用型的寫法吧!

MIME也不是指定的唯一的它還可以使用其他傳送檔案型別的方法;

詳見可以參考w3c:https://www.w3school.com.cn/media/media_mimeref.asp