MIME 類型在網站開發中常常碰到,特別是處理非文本數據的請求時(如:文件上傳)、或者是給瀏覽器返回非文本的響應時(如:文件下載),瞭解它的概念,可幫助理解 HTTP 協議。html
概覽web
MIME(Multipurpose Internet Mail Extensions 多用途互聯網郵件擴展)是一個能讓 Email 支持更多格式的互聯網標準。包括:瀏覽器
ASCII 文本,帶字符集的文本;網站
非文本的附件;編碼
含有多種格式的消息主體;.net
非 ASCII 字符集中的頭信息;視頻
MIME 被普遍使用,早就超出了用於描述郵件內容的範圍,它一樣用於描述互聯網中的內容類型。全部人們寫的 Email,還有至關大比例的機器生成的 Email 都是用 MIME 標準經過 SMTP 發送的。Email 和 SMTP 和 MIME 標準的關係實在是太緊密,因此有時候咱們把電子郵件叫作 SMTP/MIME Email。htm
MIME 標準的重要性不單單體如今 Email 中,在萬維網的 HTTP 通訊協議中也同樣。HTTP 所請求的數據其實和 Email 的信息差很少,雖然數據大多數狀況下並非真正的 Email。圖片
基礎的 SMTP (郵件傳輸協議),只支持 7-位 ASCII 字符,這大大限制了 Email 傳輸消息的能力,只有少部分語言(主要是英語)寫的消息才能被正確傳輸。其餘語言,好比拉丁文,還帶變音符號的,在 7-位 ASCII 字符集中是不被支持的,意味着在 Email 中就不能正確顯示這些語言。ip
MIME 定義了在 Email 中發送其餘類型信息的機制。其中包括使用字符集編碼的文本,還有 8-位 二進制內容的文件(好比:圖片、聲音、視頻,還有可執行程序)。部分 MIME 標準在其餘通訊協議中被重用,好比 HTTP,它請求的數據都和 Email 長的很像,但實際上這些數據和 Email 沒半點關係,數據主體實際上能夠是二進制的。在 Email 的客戶端和服務端,系統都會自動完成消息與 MIME 格式的映射工做。
MIME 是可擴展的。它能夠註冊一個新的內容類型和其餘的 MIME 屬性。