MIME

轉自Jrive的專欄http://blog.csdn.net/zhaojiangwei102/

MIME (Multipurpose Internet Mail Extensions)

多用途Internet郵件擴展 

MIME對於郵件系統的擴展是巨大的,因爲在MIME出現以前,信件內容如果要包括聲音和動畫,就必須把它變爲ASCII碼或把二進制的信息變成可以傳送的編碼標準,而接收方必須經過解碼纔可以獲得聲音和圖畫信息。MIME提供了一種可以在郵件中附加多種不同編碼文件的方法。這與原來的郵件是大大不同的。而現在MIME已經成爲了HTTP協議標準的一個部分。

MIME是服務器通知客戶機傳送文件是什麼類型的主要方法,客戶機瀏覽器也通過MIME告訴服務器它的參數。在網上,如果接收到的文件沒有MIME頭,就默認它爲HTML格式。但這樣也不好,因爲當MIME的包頭是text/plain時,瀏覽器將直接顯示而不關心它的什麼字體,顏色之類的參數,這樣顯示出來的內容可不是很好看呀。

每個MIME類型有不同的子類型,實際上,您不可能單獨使用類型而不使用子類型,只有一個例外,這就是"telnet"類型。IANA提供45種類型/子類型對支持。當然,標準是開放的,允許用戶自定義自己的類型,用戶自定義類型要以“X-”開始以示區別。在添加新的類型時,一定要注意,儘量使用已有的類型達到自己的目的。如果非要添加新的類型,一定要保證服務器一方支持這種類型,也要保證客戶端也能夠通過一些應用程序(如插件)來識別新類型。如果您的網站的訪問者很廣,不要輕易使用新類型,要麼使用已有的類型,或者向IANA提出註冊請求。

比較常見的MIME內容類型:

*/* 1.1 0x00
text/* 1.1 0x01
text/html 1.1 0x02
text/plain 1.1 0x03
text/x-hdml 1.1 0x04
text/x-ttml 1.1 0x05
text/x-vCalendar 1.1 0x06
text/x-vCard 1.1 0x07
text/vnd.wap.wml 1.1 0x08
text/vnd.wap.wmlscript 1.1 0x09
text/vnd.wap.wta-event 1.1 0x0A
multipart/* 1.1 0x0B
multipart/mixed 1.1 0x0C
multipart/form-data 1.1 0x0D
multipart/byterantes 1.1 0x0E
multipart/alternative 1.1 0x0F
application/* 1.1 0x10
application/java-vm 1.1 0x11
application/x-www-form-urlencoded 1.1 0x12
application/x-hdmlc 1.1 0x13
application/vnd.wap.wmlc 1.1 0x14
application/vnd.wap.wmlscriptc 1.1 0x15
application/vnd.wap.wta-eventc 1.1 0x16
application/vnd.wap.uaprof 1.1 0x17
application/vnd.wap.wtls-ca-certificate 1.1 0x18
application/vnd.wap.wtls-user-certificate 1.1 0x19
application/x-x509-ca-cert 1.1 0x1A
application/x-x509-user-cert 1.1 0x1B
image/* 1.1 0x1C
image/gif 1.1 0x1D
image/jpeg 1.1 0x1E
image/tiff 1.1 0x1F
image/png 1.1 0x20
image/vnd.wap.wbmp 1.1 0x21
application/vnd.wap.multipart.* 1.1 0x22
application/vnd.wap.multipart.mixed 1.1 0x23
application/vnd.wap.multipart.form-data 1.1 0x24
application/vnd.wap.multipart.byteranges 1.1 0x25
application/vnd.wap.multipart.alternative 1.1 0x26
application/xml 1.1 0x27
text/xml 1.1 0x28
application/vnd.wap.wbxml 1.1 0x29
application/x-x968-cross-cert 1.1 0x2A
application/x-x968-ca-cert 1.1 0x2B
application/x-x968-user-cert 1.1 0x2C
text/vnd.wap.si 1.1 0x2D
application/vnd.wap.sic 1.2 0x2E
text/vnd.wap.sl 1.2 0x2F
application/vnd.wap.slc 1.2 0x30
text/vnd.wap.co 1.2 0x31
application/vnd.wap.coc 1.2 0x32
application/vnd.wap.multipart.related 1.2 0x33
application/vnd.wap.sia 1.2 0x34
text/vnd.wap.connectivity-xml 1.3 0x35
application/vnd.wap.connectivity-wbxml 1.3 0x36
application/pkcs7-mime 1.4 0x37
application/vnd.wap.hashed-certificate 1.4 0x38
application/vnd.wap.signed-certificate 1.4 0x39
application/vnd.wap.cert-response 1.4 0x3A
application/xhtml+xml 1.4 0x3B
application/wml+xml 1.4 0x3C
text/css 1.4 0x3D
application/vnd.wap.mms-message 1.4 0x3E
application/vnd.wap.rollover-certificate 1.4 0x3F
application/vnd.wap.locc+wbxml 1.5 0x40
application/vnd.wap.loc+xml 1.5 0x41
application/vnd.syncml.dm+wbxml 1.5 0x42
application/vnd.syncml.dm+xml 1.5 0x43
application/vnd.syncml.notification 1.5 0x44
application/vnd.wap.xhtml+xml 1.5 0x45
application/vnd.wv.csp.cir 1.5 0x46
application/vnd.oma.dd+xml 1.5 0x47
application/vnd.oma.drm.message 1.5 0x48
application/vnd.oma.drm.content 1.5 0x49
application/vnd.oma.drm.rights+xml 1.5 0x4A
application/vnd.oma.drm.rights+wbxml 1.5 0x4B

由於MIME定義了多種不同的內容類型,因此在郵件客戶端可以識別這些標準的內容說明,從而調用不同的程序插件來進行處理,如爲應用,則提示下載,如爲圖象,則自動打開(如OE),但由於BASE64編碼的內容看起來是一樣的,所以我們就可以把一個自己編寫的執行程序或木馬通過BASE64編碼後,附加在郵件後,並強制定義其爲圖形或聲音等能被自動處理的內容說明,這樣,在郵件被打開時,這些編碼就會被自動的處理,也就是相當於運行了這些編碼解碼後的程序。

發佈了26 篇原創文章 · 獲贊 7 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章