早期的網際網路郵件僅支援 ASCII,因此訊息本文無法以所有用戶端都一致認可的方式承載圖片或檔案。MIME(多用途網際網路郵件擴充)正是為了改變這一點而設計。

MIME 源自卡內基美隆大學的 Andrew Messaging System,最初是作為跨平台的資料格式,並由共同創造者 Nathaniel Borenstein 等人於 1992 年 6 月以 RFC 1341 首次制定;現行版本則是 1996 年的 RFC 2045/2046/2047 系列。

其設計刻意保持精簡:Content-Type 標頭指明該部分是什麼,Content-Transfer-Encoding 將二進位轉為 ASCII,而多部分邊界則讓單一本文能包含多個部分。訊息仍如以往透過 SMTP 傳送。

由於這項擴充是以標頭為基礎且為選用性質,各用戶端可自行決定支援時程,MIME 很快便成為傳送附件與富文字電子郵件的標準方式,後來也成為全球資訊網自身 content-type 概念的基礎。

新增一個標頭,說明本文是什麼

content-type 標頭告訴接收方某個部分是什麼,使其能依規則解碼

base64 讓任意二進位資料通過僅支援 ASCII 的傳輸通道

多部分邊界讓單一訊息能同時容納文字與附件

由於這項變更屬於標頭層級,採用時不需要共同切換

若要擴充一套廣泛部署的系統,應新增一小塊選用的結構,而非另建新系統:以標頭說明承載內容是什麼,讓各實作者能自行採用。

MIME 成為電子郵件附件的通用容器,這也是 Content-Type 標頭借用其概念來描述網頁資源的原因。原始規格對呈現方式著墨不多,因此 RFC 2183 新增了 Content-Disposition;實務上,許多用戶端仍依自身邏輯而非標準的建議來選擇要顯示哪個部分。

追溯依據

參考來源

  1. Multipurpose Internet Mail Extensions (MIME) Part One (RFC 2045) IETF / rfc-editor.org · rfc-editor.org
  2. MIME — Wikipedia Wikipedia · en.wikipedia.org