久久国产精品一区二区三区四区,久色婷婷小香蕉久久,国产日韩欧美在线播放不卡,另类av一区二区

網絡標準之永遠是1.0版本的 MIME
來源:程序那些事    時間:2022-03-01 07:36:29
簡介

無規矩不成方圓,無標準不成網絡通信。正是在各種網絡協議和標準的基礎之上,才構建了我們現在流行的互聯網。今天給大家介紹的就是一個網絡標準格式,叫做MIME,它的全稱是Multipurpose Internet Mail Extensions,翻譯過來就是多用途Internet郵件擴展。

那么有小伙伴開始疑惑了,原來是一個郵件的擴展協議,那么它跟我們使用的Internet網絡有什么關系呢?

不急,我們慢慢道來。

MIME詳解

在很久很久以前,計算機的一種流行的應用就是發郵件,最開始的時候,計算機世界的編碼方式就只有ASCII一種,但是隨著時間的推移和各種應用需求的激增,ASCII格式已經不能滿足我們的需求了,格式多類型的同時也照成了互相通信之間的困難,于是一個統一的消息格式標準產生了,這個就是MIME。

MIME可以讓郵件不僅支持ASCII,還可以支持其他的編碼方式。同時支持圖片、音頻、視頻和應用程序等多種附件。

消息體還可以支持多個part的集合,當這樣的消息郵件使用MIME格式編碼之后,就可以通過標準的郵件協議,比如SMTP、POP、IMAP等進行發送了。

因為MIME是一個標準,所以只要符合這種標準的郵件都能夠被解析成功。

很快,MIME就在郵件世界被廣泛應用,但是互聯網已經發展到使用流行的HTTP協議來訪問萬維網的時候了,MIME中定義的各種content types很自然的也成了其他協議中使用的content標準。

這種content types是在MIME頭中定義的,應用程序接收到content type之后,會根據類型中指定的消息類型,來采用對應的應用程序對消息內容進行解析。

MIME頭

MIME頭很重要,是應用程序用來判斷消息格式的首要依據。MIME頭可以包含下面的字段。

MIME-Version

如果存在這個消息頭,說明這個消息是遵循的是MIME格式。它的值通常是1.0。

MIME-Version: 1.0

有細心的小伙伴可以能要問了,既然有1.0,那么有沒有1.1或者2.0呢?

很抱歉,答案是沒有。因為根據MIME 共同創建者 Nathaniel Borenstein 的說法,雖然引入MIME版本號是為了在后續中對MIME進行修改和升級。但是因為MIME規范并沒有為未來MIME版本的升級進行良好的設計,所以不同的人可能對MIME版本升級后的處理方式都是不一樣的。從而導致在MIME廣泛應用的今天,很難對MIME規范進行升級。

所以,就使用1.0吧。

Content-Type

如果屬性HTTP協議的同學,對這個頭應該很熟悉了吧,這個頭表示的是消息體的類型,包含了類型和子類型,比如:

Content-Type: text/plain

我們常說的MIME type就是指這個標簽。

下面是常用的MIME type:

說明

后綴

類型

超文本標記語言文本

.html

text/html

xml文檔

.xml

text/xml

XHTML文檔

.xhtml

application/xhtml+xml

普通文本

.txt

text/plain

RTF文本

.rtf

application/rtf

PDF文檔

.pdf

application/pdf

Microsoft Word文件

.word

application/msword

PNG圖像

.png

image/png

GIF圖形

.gif

image/gif

JPEG圖形

.jpeg,.jpg

image/jpeg

au聲音文件

.au

audio/basic

MIDI音樂文件

mid,.midi

audio/midi,audio/x-midi

RealAudio音樂文件

.ra, .ram

audio/x-pn-realaudio

MPEG文件

.mpg,.mpeg

video/mpeg

AVI文件

.avi

video/x-msvideo

GZIP文件

.gz

application/x-gzip

TAR文件

.tar

application/x-tar

任意的二進制數據

application/octet-stream

Content-Disposition

Content-Disposition是在RFC 2183中添加的一個字段,表示的是消息的展示樣式。因為之前的消息只是定義了它的消息格式,并沒有考慮消息是如何展示的問題,尤其是對于郵件來說。

比如郵件中插入了一個圖片,那么這個圖片是在我們讀消息的時候內聯展示呢?還是以附件的形式,必須要用戶下載才能看到呢?

如果是在HTTP中,響應頭字段Content-Disposition:attachment 通常用作提示客戶端將響應正文呈現為可下載文件。通常,當收到這樣的響應時,Web瀏覽器會提示用戶將其內容保存為文件,而不是將其顯示為瀏覽器窗口中的頁面。

Content-Transfer-Encoding

這個字段是做什么用的呢?

我們知道,隨著數據格式越來越多,傳統的ASCII已經不能支持龐大的內容表示形式,所以出現了超出ASCII范圍的內容表示形式如Unicode。

但是對于SMTP服務器來說,能夠傳輸或者認識的編碼是有限的,如果要傳輸二進制內容,則需要使用一定的transfer encodings方式對二進制內容進行轉換。這就是Content-Transfer-Encoding的意義。

根據RFC和IANA的定義,有下面幾個transfer encodings方式:

Name

Reference

7bit

[RFC2045]

8bit

[RFC2045]

binary

[RFC2045]

quoted-printable

[RFC2045]

base64

[RFC2045]

具體transfer encodings的含義,可以參考我后續的文章,這里只做簡單的介紹。

對于普通的SMTP服務器來說,可以支持7bit、quoted-printable和base64這三種編碼方式。

對于8BITMIME SMTP extension的SMTP服務器來說,還支持8bit這種編碼方式。

對于支持BINARYMIME SMTP extension的SMTP服務器來說,還支持binary這種編碼方式。

Encoded-Word

根據RFC 2822,確認消息頭中的字段名和值必須使用ASCII字符。如果消息中包含非ASCII字符,則需要進行編碼。這個編碼就是encoded-word 。

編碼的格式如下:

"=?charset?encoding?encoded text?=".

charset表示的是原消息的編碼,encoding表示的是使用的編碼方式,encoded text是編碼后的消息。

Multipart messages

最后,介紹一下Multipart messages,我們知道一個消息是有對應的消息類型:Content-Type的。

如果是復雜的消息,那么它里面的消息類型可能不止一種。所以這時候就需要用到Multipart messages,也就是將消息分為多個部分,每個部分都有一個Content-Type。

這種類型在郵件中比較常見。下面是一個Multipart messages的例子,在Content-Type中指定了一個消息的分割標記boundary。

MIME-Version: 1.0Content-Type: multipart/mixed; boundary=frontierThis is a message with multiple parts in MIME format.--frontierContent-Type: text/plainThis is the body of the message.--frontierContent-Type: application/octet-streamContent-Transfer-Encoding: base64PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUgYm9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==--frontier--

關鍵詞: 應用程序 表示的是 消息格式 音樂文件 數據格式

上一篇:

下一篇:

久久国产精品一区二区三区四区,久色婷婷小香蕉久久,国产日韩欧美在线播放不卡,另类av一区二区
亚洲二区视频| 欧美视频在线不卡| 亚洲视频一区二区在线观看| 男人的天堂亚洲| 久久精品在线视频| 国产精品久久久久久亚洲调教| 国产精品高潮呻吟久久| 欧美日韩精品伦理作品在线免费观看| 欧美aa在线视频| 亚洲日本欧美天堂| 免费人成网站在线观看欧美高清| 亚洲欧美精品中文字幕在线| 久久福利视频导航| 一区二区三区高清在线| 欧美一级精品大片| 国产精品户外野外| 亚洲精品美女在线观看| 久久精品午夜| 亚洲国产精品成人va在线观看| 一区二区在线视频观看| 欧美日韩a区| 欧美日韩国产成人| 国产一区二区视频在线观看| 久久综合给合久久狠狠色| 欧美激情片在线观看| 在线观看亚洲一区| 欧美日韩在线精品一区二区三区| 欧美精品在欧美一区二区少妇| 国外成人网址| 亚洲人成高清| 久久久国产一区二区三区| 国产精品www色诱视频| 亚洲一区二区在线看| 1024精品一区二区三区| 影音先锋成人资源站| 亚洲国产精品视频一区| 久久久久久久尹人综合网亚洲| 亚洲人成在线免费观看| 国产亚洲福利一区| 亚洲桃色在线一区| 欧美www在线| 新狼窝色av性久久久久久| 亚洲人成毛片在线播放女女| 国产亚洲精品福利| 久久久久国产精品一区二区| 国产欧美在线视频| 欧美一级大片在线免费观看| 欧美电影免费| 亚洲香蕉网站| 亚洲国产精品www| 国产日本亚洲高清| 欧美日韩精品免费观看视频完整| 欧美三区免费完整视频在线观看| 一本久道综合久久精品| 欧美喷水视频| 欧美视频三区在线播放| 开元免费观看欧美电视剧网站| 美女黄毛**国产精品啪啪| 美玉足脚交一区二区三区图片| 欧美阿v一级看视频| 一区二区国产精品| 悠悠资源网亚洲青| 日韩视频在线观看免费| 亚洲欧美国产精品va在线观看| 久久综合九色99| 午夜在线a亚洲v天堂网2018| 久久―日本道色综合久久| 国产精品亚洲网站| 国产精品二区三区四区| 亚洲男人影院| 美女久久一区| 亚洲第一偷拍| 欧美影视一区| 欧美成人免费观看| 国产精品久久久久av免费| 国产精品日日摸夜夜添夜夜av| 欧美一区二区久久久| 久久久成人精品| 黑人一区二区| 久久精品国产999大香线蕉| 老司机凹凸av亚洲导航| 欧美激情在线有限公司| 亚洲国产精品va在线看黑人| 久久精品欧美日韩精品| 欧美视频免费| 欧美国产日韩亚洲一区| 韩日精品视频| 亚洲精品韩国| 欧美视频精品在线观看| 久久婷婷人人澡人人喊人人爽| 亚洲在线国产日韩欧美| 国产精品久久久久久久久久妞妞| 久久综合一区二区三区| 一区二区三区精品视频| 国产精品ⅴa在线观看h| 亚洲精选中文字幕| 午夜视频在线观看一区二区三区| 麻豆久久婷婷| 国产精品午夜视频| 久久久综合网| 亚洲一区二区在线观看视频| 久久精品日韩欧美| 欧美激情视频一区二区三区免费| 亚洲国产日韩欧美一区二区三区| 狠狠久久五月精品中文字幕| 国产日韩视频| 亚洲免费电影在线| 久久午夜色播影院免费高清| 一区二区三区免费看| 久久免费视频在线观看| 亚洲国产精品精华液网站| 蜜桃av一区二区| 亚洲精选在线观看| 亚洲欧美日韩一区二区在线| 国产精品一区二区三区四区五区| 国产精品av久久久久久麻豆网| 久久gogo国模裸体人体| 欧美一二三区在线观看| 1024欧美极品| 欧美亚一区二区| 午夜精彩视频在线观看不卡| 久久在线视频| 久久久精品2019中文字幕神马| 国产一区二区日韩精品| 国产日韩欧美不卡| 久久精品国产亚洲一区二区三区| 欧美日韩免费网站| 亚洲国产精品成人综合| 国产欧美综合一区二区三区| 亚洲综合不卡| 欧美日本亚洲| 中文在线不卡视频| 国产亚洲欧美中文| 欧美午夜一区| 激情五月综合色婷婷一区二区| 国产精品美女久久久久av超清| 一区在线观看视频| 国产精品日韩专区| 亚洲欧美日韩国产一区二区三区| 亚洲人成网站精品片在线观看| 国产精品一区二区欧美| 欧美一区二区三区精品电影| 国产精品永久入口久久久| 美女视频黄 久久| 欧美日韩精品福利| 久久婷婷国产综合精品青草| 欧美视频观看一区| 99在线热播精品免费| 欧美日韩麻豆| 国产一区观看| 欧美精品激情在线| 久久久久一区二区| 国产精品一区一区三区| 久久久久国内| 久久久久久久网| 日韩视频在线观看免费| 亚洲精品久久久久中文字幕欢迎你| 欧美成人一区二免费视频软件| 国产亚洲成人一区| 欧美日韩三区| 一区二区免费看| 国产丝袜一区二区| 国产日韩欧美一区在线| 国产午夜精品视频免费不卡69堂| 99在线精品视频在线观看| 一区二区三区在线观看国产| 国产精品久久久久久福利一牛影视| 国产精品一区久久久| 国产精品一香蕉国产线看观看| 欧美日本中文| 欧美日韩中文另类| 9l视频自拍蝌蚪9l视频成人| 国产一区二区三区无遮挡| 欧美激情第4页| 国产精品影院在线观看| 在线观看欧美日本| 在线播放日韩| 欧美一区二区三区精品电影| 野花国产精品入口| 一区二区三区在线观看国产| 欧美日韩国产在线看| 久久久www成人免费精品| 欧美一区二区视频在线观看2020| 国产精品综合不卡av| 亚洲另类在线视频| 久久久亚洲午夜电影| 99亚洲一区二区| 国产农村妇女精品一区二区| 亚洲国产91精品在线观看| 一区二区电影免费观看| 亚洲伊人伊色伊影伊综合网| 欧美日韩亚洲一区二区三区在线| 国产日产欧美a一级在线| 国产女同一区二区| 欧美一区二区三区另类| 亚洲网站视频福利| 亚洲一区二区三区国产| 欧美系列亚洲系列| 在线观看不卡| 影音先锋久久精品|