MIME協議 四 MIME訊息的頭字段

2022-03-11 14:31:29 字數 2870 閱讀 4372

—  multipart/mixed

表示訊息體中的內容是混和組合型別,內容可以是文字、聲音和附件等不同郵件內容的混和體,例如圖5中的整封郵件的mime型別就必須定義為multipart/mixed。

—  multipart/related

表示訊息體中的內容是關聯(依賴)組合型別,例如圖5中的郵件正文要使用html**引用內嵌的資源,它們組合成的mime訊息的mime型別就應該定義為multipart/related,表示其中某些資源(html**)要引用(依賴)另外的資源(影象資料),引用資源與被引用的資源必須組合成multipart/related型別的mime組合訊息。

—  multipart/alternative

表示訊息體中的內容是選擇組合型別,例如一封郵件的郵件正文同時採用html格式和普通文字格式進行表達時,就可以將它們巢狀在乙個multipart/alternative型別的mime組合訊息中。這種做法的好處在於如果郵件閱讀程式不支援html格式時,可以採用其中的文字格式進行替代。

一封最複雜的電子郵件的基本情況為:含有郵件正文和郵件附件,郵件正文可以同時使用html格式和普通文字格式表示,並且html格式的正文中又引用了其他的內嵌資源。對於這種最複雜的電子郵件,可以採用如圖6所示的mime訊息結構進行描述。

圖6從圖6中可以看出,如果要在郵件中要新增附件,就必須將整封郵件的mime型別定義為multipart/mixed;如果要在html格式的正文中引用內嵌資源,那就要定義multipart/related型別的mime訊息;如果普通文字內容與html文字內容共存,那就要定義multipart/alternative型別的mime訊息。

注意:如果整封郵件中只有普通文字內容與html文字內容,那麼整封郵件的mime型別則應定義為multipart/ alternative;如果整封郵件中包含有html文字內容和內嵌資源,但不包含附件,那麼整封郵件的mime型別則應定義為multipart/related。

在content-type頭字段中除了可以定義訊息體的mime型別外,還可以在mime型別後面包含相應的屬性,屬性以「屬性名=屬性值」的形式出現,屬性與mime型別之間採用分號(;)分隔,如下所示:

content-type:multipart/mixed;boundary="----=_nextpart_000_0050_01c"

常用的屬性如表1所示。表1主

型別屬性

名說明text

charset

用於說明文字內容的字符集編碼

image

name

用於說明檔案的檔名

name

用於說明應用程式的檔名

multipart

boundary

用於定義

mime

訊息之間的分隔符

除了content-type頭欄位之外,mime協議中還定義content- transfer-encoding、content-disposition、content-id、content-location、content-base等幾個重要的頭字段,這幾個頭欄位需要與content-type頭欄位配合使用,它們的作用如下:

—  content-transfer-encoding頭欄位

content-transfer-encoding頭欄位用於指定mime訊息體中的內容所採用的郵件編碼方式,詳細細節請參看4節的講解。

—  content-disposition頭欄位

content-disposition頭欄位用於指定郵件閱讀程式處理資料內容的方式,有inline和attachment兩種標準方式,inline表示直接處理,而attachment表示當做附件處理。如果將content-disposition設定為attachment,在其後還可以指定filename屬性,如下所示:

content-disposition: attachment; filename="1.bmp"

上面的mime頭欄位表示mime訊息體的內容為郵件附件,附件名"1.bmp"。

—  content-id頭欄位

content-id頭欄位用於為「multipart/related」組合訊息中的內嵌資源指定乙個唯一標識號,在html格式的正文中可以使用這個唯一標識號來引用該內嵌資源。例如,假設將乙個表示內嵌的mime訊息的content-id頭欄位設定為如下形式:

content-id: it315logo_gif

注意,在引用content-id頭欄位標識的內嵌資源時,要在資源的唯一標識號前面加上「cid:」,以說明要採用唯一標識號對資源進行引用。

—  content-location頭欄位

content-location頭欄位用於為內嵌資源設定乙個uri位址,這個uri位址可以是絕對或相對的。當使用content- location頭字段為乙個內嵌資源指定乙個uri位址後,在html格式的正文中也可以使用這個uri來引用該內嵌資源。例如,假設將乙個表示內嵌的mime訊息的content- location頭欄位設定為如下形式:

content-location:

—  content-base頭欄位

content-base頭欄位用於為內嵌資源設定乙個基準路徑,只有這樣,content-location頭字段中設定的uri才可以採用相對位址。例如,假設將乙個表示內嵌的mime訊息的content-base和content-location頭欄位設定為如下形式:

content-base:

content-location: it315logo.gif 

那麼,內嵌資源的完整路徑就是content-base頭欄位設定的基準路徑與content-location頭欄位設定的相對路徑相加的結果,在html正文中就可以使用如下html語句來引用該資源:

** :

MIME的常見型別

response物件通過設定contenttype使客戶端瀏覽器,區分不同種類的資料,並根據不同的mime呼叫瀏覽器內不同的程式嵌入模組來處理相應的資料。mime型別格式 類別 子類別 引數 content type type subtype parameter mime主類別 text 用於標準化...

常見的MIME型別

mime type的縮寫為 multipurpose internet mail extensions 代表網際網路 型別 internet media type mime使用乙個簡單的字串組成,最初是為了標識郵件email附件的型別,在html檔案中可以使用content type屬性表示,描述了...

MIME型別(網上貼的)

content type text html 注意,第二行為乙個空行,這是必須的,使用這個空行的目的是將mime資訊與真正的資料內容分隔開 關於mime型別的介紹 使用者可以通過使用mime以設定伺服器傳送多 如聲音和動畫資訊,這一切可能通過cgi指令碼來進行。在下面的文章中,你可以了解到一此關於m...