MIME协议
我們知道,現(xiàn)在的電子郵件已經(jīng)基本上取代了傳統(tǒng)的郵件。電子郵件不僅可以用文字來敘述,還可以加載音樂圖像等多媒體形式。隨著網(wǎng)絡(luò)的不斷革新,郵件也可以承載不同類型的文件進(jìn)行傳輸。這個就需要MIME協(xié)議的支持了。
多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)是 Multipurpose Internet Mail Extensions 的縮寫,說明了如何安排消息格式使消息在不同的郵件系統(tǒng)內(nèi)進(jìn)行交換。MIME 的格式靈活,允許郵件中包含任意類型的文件。MIME 消息可以包含文本、圖象、聲音、視頻及其它應(yīng)用程序的特定數(shù)據(jù)。具體來說,MIME 允許郵件包括:
單個消息中可含多個對象;
文本文檔不限制一行長度或全文長度;
可傳輸 ASCII 以外的字符集,允許非英語語種的消息;
多字體消息;
二進(jìn)制或特定應(yīng)用程序文件;
圖象、聲音、視頻及多媒體消息。
MIME協(xié)議復(fù)合消息的目錄信頭設(shè)有分界標(biāo)志,這個分界標(biāo)志絕不可出現(xiàn)在消息的其它位置,而只能是在各部之間以及消息體的開始和結(jié)束處。
MIME協(xié)議的安全版本 S/MIME(Secure/Multipurpose Internet Mail Extensions)設(shè)計用來支持郵件的加密。基于 MIME 標(biāo)準(zhǔn),S/MIME 為電子消息應(yīng)用程序提供如下加密安全服務(wù):認(rèn)證、完整性保護(hù)、鑒定及數(shù)據(jù)保密等。
傳統(tǒng)的郵件用戶代理(MUA)可以使用 S/MIME 來加密發(fā)送郵件及解密接收郵件。然而,S/MIME 并不僅限于郵件的使用,它也能應(yīng)用于任何可以傳送 MIME 數(shù)據(jù)的傳輸機(jī)制,例如 HTTP。同樣,S/MIME 利用 MIME 的面向?qū)ο筇卣髟试S在混合傳輸系統(tǒng)中交換安全消息。
此外,S/MIME 還可應(yīng)用于消息自動傳送代理,它們使用不需任何人為操作的加密安全服務(wù),例如軟件文檔簽名、發(fā)送到網(wǎng)上的 FAX 加密等。
MIME協(xié)議結(jié)構(gòu)
MIME郵件頭字段定義如下:
實(shí)體頭:=[目錄CRLF][編碼CRLF][ID CRLF][描述CRLF]*(MIME擴(kuò)展字段CRLF)
MIME消息頭:=實(shí)體頭
字段
CRLF版本
在BNF定義中聲明的消息頭字
段順序應(yīng)該忽略;
MIME局部頭:=實(shí)體頭
[字段]
不從“目錄”開始的任何字段
沒有具體含義,可忽略。
在BNF定義中聲明的消息頭字
段順序應(yīng)該忽略;
消息格式和S/MIME實(shí)現(xiàn)過程在相關(guān)文件中可以查閱。
PS:http協(xié)議中post上傳文件使用的multipart/form-data以及格式,是從MIME協(xié)議中借過來的,也就是說MIME協(xié)議定義了多種multipart以及數(shù)據(jù)包格式,http協(xié)議為了增強(qiáng)功能,借鑒了一些。最早的HTTP協(xié)議中,并沒有附加的數(shù)據(jù)類型信息,所有傳送的數(shù)據(jù)都被客戶程序解釋為超文本標(biāo)記語言HTML 文檔,而為了支持多媒體數(shù)據(jù)類型,HTTP協(xié)議中就使用了附加在文檔之前的MIME數(shù)據(jù)類型信息來標(biāo)識數(shù)據(jù)類型。
MIME意為多目Internet郵件擴(kuò)展,它設(shè)計的最初目的是為了在發(fā)送電子郵件時附加多媒體數(shù)據(jù),讓郵件客戶程序能根據(jù)其類型進(jìn)行處理。然而當(dāng)它被HTTP協(xié)議支持之后,它的意義就更為顯著了。它使得HTTP傳輸?shù)牟粌H是普通的文本,而變得豐富多彩。
每個MIME類型由兩部分組成,前面是數(shù)據(jù)的大類別,例如聲音audio、圖象image等,后面定義具體的種類。
總結(jié)
- 上一篇: python 中的按位运算
- 下一篇: 红包功能的开发总结