POP3_關於 multipart/related;boundary=


http協議對mime類型有詳細描述,multipart/....是單個消息頭包含多個消息體的解決方案。multipart媒體類型對發送非文本的各媒體類型是有用的。目前常用的有這些subtype:

Messages with multiple parts     multipart/mixed
Messages with multiple, alternative parts     multipart/alternative
Message with multiple, related parts     multipart/related
Multiple parts are digests     multipart/digest
For reporting of email status (admin.)     multipart/report
Order of parts does not matter     multipart/parallel
Macintosh file data     multipart/appledouble
Aggregate messages; descriptor as header     multipart/header-set
Container for voice-mail     multipart/voice-message
HTML FORM data (see Ch. 9 and App. B)     multipart/form-data
Infinite multiparts - See Chapter 9 (Netscape)     multipart/x-mixed-replace

任何一種執行時無法識別的multipart子類型都被視為子類型"mixed"。multipart媒體類型有共同的格式,一般是這樣:

Content-Type: multipart/mixed; boundary=xxxxx

--xxxxx
body
--xxxxx--

body還可以套body,可以參考前面的文章

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

MHTML,即MIME HTML,是由RFC 2557定義的,把一個多附件(如圖片,flash動畫等)的網頁內容都保存到單一檔案的標准。這個標准由微軟提出,並從IE 5.0對其開始支持。同時,微軟實現了MHTML協議,默認安裝的window系統都帶有MHTML協議處理程序(MHTML Protocol Handler)。在IE中,當嵌入資源的URL的協議為MHTML 時,IE將調用MHTML Protocol Handler,把該資源當作MHTML格式文件解析處理。

MHTML文件由於是 "多合一" ,所以使用multipart的格式。

MHTML Protocol Handler 對MHTML文件有如下“溫和”之處:
1. MHTML Protocol Handler會忽略遠程文件后綴;
2. MHTML Protocol Handler會忽略遠程文件中Content-Type前面的除“空行”外的所有內容,若有“空行”,則MHTML Protocol Handler不能解釋該文件;
3. MHTML Protocol Handler會忽略遠程文件中“--_boundary_by_mere—”后的所有無關內容;
4. MHTML Protocol Handler會忽略遠程服務器的Content-Disposition、X-Frame-Options等響應頭。

協議訪問格式:mhtml: [Mhtml_File_Url]![Original_Resource_Url]

[Original_Resource_Url]從消息體的Content-Location處獲得。如果[Original_Resource_Url] 不能從[Mhtml_File_Url]中獲取,IE就會嘗試下載[Original_Resource_Url]和返回下載內容。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

multipart/related自然是multipart_subtype其中一種,例如demo.html:

Content-Type: multipart/related; boundary="_boundary_by_mere"

--_boundary_by_mere
Content-Location:demo
Content-Transfer-Encoding:base64

PGh0bWw+PGJvZHk+TUhUTUwgREVNTyE8L2JvZHk+PC9odG1sPg==
--_boundary_by_mere--

若使用mhtml協議,訪問  mhtml:demo.html!demo  即可訪問文件的demo數據塊。

參考文章:IE下MHTML協議帶來的跨域危害d4rkwind

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

HTTP協議和MIME協議是兩個概念。多用途網際郵件擴充協議(MIME)是 Multipurpose Internet Mail Extensions 的縮寫。

multipart類型,是MIME郵件的精髓。郵件體被分為多個段,每個段又包含段頭和段體兩部分,這兩部分之間也以空行分隔。常見的multipart類型有三種:multipart/mixed, multipart/related和multipart/alternative。如果在郵件中要添加附件,必須定義multipart/mixed段;如果存在內嵌資源,至少要定義multipart/related段;如果純文本與超文本共存,至少要定義multipart/alternative段。

什么是“至少”?舉個例子說,如果只有純文本與超文本正文,那么在郵件頭中將類型擴大化,定義為multipart/related,甚至multipart/mixed,都是允許的。

1.http協議的主體信息部分是使用html來包裝的,http協議剛開始是用來傳送html的,只是和MIME協議結合才可以傳送別的格式數據。

2.http與MIME應該分別是兩個此協議,MIME可以附屬在其他許多協議上,例 如SMTP協議,利用MIME協議可以在協議中包含特殊格式的信息文本.例如:在http協議中包含pdf格式的數據,可以在瀏覽器中打開,在郵件中可以 利用MIME協議來包含pdf附件,其余其他可以包含MIME數據的協議,我就不清楚了,我想,這應該可以有很多,因為從原理上說,這僅僅是按一定格式包 含一段特殊數據。

3.瀏覽器可以認為是用來解讀http協議的客戶端,最終顯示的內容是http協議數據體部分html格式的數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM