多用途網際網路郵件擴展
多用途網際網路郵件擴展(英語:MultipurposeInternetMailExtensions,縮寫:MIME)是一个網際網路標準,伊擴充電子批的標準,使其實閣會當支援:
- 非 ASCII 字元文字;
- 非文字格式附件(二進位制、聲音、圖片等等);
- 由多部份(multiple parts)組成的訊息體;
- 包括講非 ASCII 字元的標頭的資訊(Header information)。 這个標準予人定義佇咧 RFC 兩千空四十五、RFC 兩千空四十六、RFC 兩千空四十七、RFC 兩千空四十八、RFC 兩千空四十九等 RFC 中。
MIME 改善矣由 RFC 八百二十二轉變來的 RFC 二千八百二十二,遮的舊標準規定電子批的標準並無允准佇咧郵件訊息內底使用七个 ASCII 字元集以外的字元。正因此,一寡非英語字元訊息佮二進位檔案,圖像,聲音等等文字訊息原本攏袂當佇咧電子批內底傳輸(MIME 會用得)。 MIME 規定矣用佇咧表示各種各樣的資料類型的符號化方法。此外,佇全球的資訊網路用的 HTTP 協定嘛使用 MIME 的框殼,標準被擴展做網際網路媒體形式。
MIME headers
MIME 是通過標準化電子郵件報文的頭殼的附加域(fields)而實現的;這寡頭殼的附加域,描述新的報文類型的內容佮組織形式。
MIME 版本
MIME 版本(MIME-Version), 這个標頭仔區域佇咧郵件訊息的報文用一个版本號碼來指明訊息遵從的 MIME 規範版本。目前版本是一鋪零。
` ` ` MIME-Version : 一垺零 ` ` `
內容類型
內容類型(Content-Type), 這个標頭區域用於指定資訊的類型。一般以下的形式呈現。
` ` ` Content-Type : [type] / [subtype] ; parameter ` ` `
type 有以下的形式:
- Text:用佇咧標準化地表示的文字訊息,文字訊息會當是多種字元集佮抑是多種格式的;
- Multipart:用佇咧連接訊息體的濟部份構成一个訊息,所以這部份會當是無仝類型的資料;
- Application:用佇傳輸應用程式資料或者是二進位資料;
- Message:用於包裝一个 E-mail 訊息;
- Image:用佇傳輸靜態的圖片資料;
- Audio:用佇傳輸音訊抑是音聲資料;
- Video:用佇傳輸動態影像資料,會當是佮音訊編輯做伙的視訊資料格式;
- Font:用佇傳輸字型檔案;
- Model:用於傳輸三 D 模型檔案。
subtype 用佇指定 type 的詳細形式。content-type / subtype 配對的集合佮此相關的參數,綴時間咧增加。為著確保遮的值在一个有序而且公開的狀態下開發,MIME 使用 Internet Assigned Numbers Authority ( IANA ) 做中心的序號產生器制來管理遮的值。捷用的 subtype 值如下所示:
- text / plain(純文字)
- text / html(HTML 檔案)
- application / xhtml + xml(XHTML 檔案)
- image / gif(GIF 圖片)
- image / jpeg(JPEG 圖片)【 PHP 中為:image / pjpeg】
- image / png(PNG 圖片)【 PHP 中為:image / x-png】
- audio / mpeg(MP 三音訊)
- audio / aac(AAC 音訊)
- video / mpeg(MPEG 影片)
- video / mp 四(MPEG 抹四影片)
- application / octet-stream(任意的這二進位資料)
- application / pdf(PDF 檔案)
- application / msword(Microsoft Word 檔案)
- application / vnd . openxmlformats-officedocument . wordprocessingml . document(Microsoft Word 兩千空七檔案)
- application / vnd . wap . xhtml + xml ( wap 一垺零 + )
- application / xhtml + xml ( wap 二孵空 + )
- message / rfc 八百二十二(RFC 八百二十二形式)
- multipart / alternative(HTML 郵件的 HTML 形式佮純文字形式,仝款的內容使用無仝款的形式表示)
- application / x-www-form-urlencoded(使用 HTTP 的 POST 步數送出的表單)
- multipart / form-data(同上,但是主要用表單送出時伴隨檔案傳的場合)
此外,猶未予人接受是正式資料類型的 subtype,會用得使用 x-開始的獨立名稱(比如講 application / x-gzip)。 vnd-開始的原生名嘛會當使用(例:application / vnd . ms-excel)。
parameter 會使用來指定附加的資訊,閣較濟狀況下是用佇指定 text / plain 和 text / htm 等的文字編碼方式的 charset 參數。MIME 根據 type 制定矣預設的 subtype,做客戶捀袂當確定訊息的 subtype 的狀況之下,訊息予人看做預設的 subtype 來進行處理。Text 預設的是 text / plain,Application 預設的是 application / octet-stream 而且 Multipart 預設的情況下予人看 multipart / mixed。
內容組態
內容組態(Content-Disposition), 原始的 MIME 干焦描寫郵件內容的結構,並袂處理表現類型的問題。內容組態(Content-Disposition)佇咧 RFC 兩千一百八十三中被添加,用來指明 MIME 的表現類型。MIME 每一部份會當添加下列組態。
- inline 添加這組態了後客戶捀應自動展示資訊。
- attachment 添加這組態了後客戶捀佇咧接受著資訊了後無自動展示,需要使用者家己選擇相應的方法處理資訊。
Content-Disposition 欄位嘛提供一寡參詳。如檔名,檔案的建立日期佮修改日期等等,予郵件客戶捀會當儉附件。 以下是一个範例。
` ` ` Content-Disposition : attachment ; filename=genome . jpeg ; modification-date=" Wed , 十二 Feb 一千九百九十七十六 : 二十九 : 五十一被五百 " ; ` ` `
就算講有的郵件客戶捀干焦佇咧 Content-Type 的參數中添加檔名來通訊,但是這是無推薦的。正確的做法是佇咧 Content-Disposition 中指定 filename 抑是仝時陣佇咧 Content-Type 和 Content-Disposition 中指定 name 和 filename 的參數。佇咧 HTTP 中 Content-Disposition : attachment 通常用來提示客戶端將回應體作為下載檔案,毋是佇咧頁面內底來展示伊。filename 參數是預設的後載檔名。
內容傳輸編碼
內容傳輸編碼(Content-Transfer-Encoding), 這个區域使指定 ASCII 以外的文字編碼方式成做可能。形式如下:
` ` ` Content-Transfer-Encoding : [mechanism] ` ` `
其中,mechanism 的值會當指定做「七 bit」,「 八 bit」,「 binary」,「 quoted-printable」,「 base 六十四」。
七 bit
七位元 ASCII 碼。
八 bit
八位元 ASCII 碼。
binary
Not only may non-ASCII characters be present but the lines are not necessarily short enough for SMTP transport .
quoted-printable
因為歐洲的一寡文字佮 ASCII 字元集中的某一寡字元有部份相仝。若是郵件訊息使用的是遮的語言的話,佮 ASCII 重疊的遐的字會當原樣使用,ASCII 字元集中不存在的字元採用形「=? ?」的方法編碼。遮「? ?」需要用將字元編碼了後的十六進位數字來指定。採用 quoted-printable 編碼的訊息,長度袂變甲傷長,而且大部份攏是 ASCII 中的字元,就算袂通過解碼嘛大概會當讀訊息的內容。
base 六十四
base 六十四是一種將二進位的一序列轉化做 ASCII 字元的編碼方式。編碼了後的文字抑是二進位訊息,就會當運用 SMTP 等干焦支援 ASCII 字元的協定傳送矣。Base 六十四一般予人認為講會平均增加百分之三十三的報文長度,而且,經過編碼的訊息對於人類來講是不可讀的。
x-encodingname
這个值是預留的擴充。
內容識別碼(通選)
內容咧描述(通選)
參見
- 八 BITMIME
- Unicode and email
- Binary-to-text encoding
- DIME—微軟提議的一種技術,予人叫做是 DIME,是部份改變的 MIME,上頭仔應用 Web 服務
- Extended SMTP ( ESMTP )
- Mailcap
- mime . types
- Object Linking and Embedding ( OLE )
- S / MIME
- SOAP with Attachments
- Uuencoding
- VPIM
參考
備註
外部連結
- MIME 類型
- 追蹤網際網路郵件草稿佮標準的 Blog
- IANA 已經註冊的 MIME 媒體類型列表
- 字元集列表
- Debian Wiki 上的 MIME
- MIME 的閣較詳細綜合(一九九三年)