什么是MIME類(lèi)型
什么是MIME類(lèi)型-在把輸出結(jié)果傳送到瀏覽器上的時(shí)候,瀏覽器必須啟動(dòng)是黨的應(yīng)用程序來(lái)處理這個(gè)輸出文檔。這可以通過(guò)多種類(lèi)型MIME(多功能網(wǎng)際郵件擴(kuò)充協(xié)議)來(lái)完成。在HTTP中,MIME類(lèi)型被定義在Content-Type header中。
例如,架設(shè)你要傳送一個(gè)Microsoft Excel文件到客戶(hù)端。那么這時(shí)的MIME類(lèi)型就是“application/vnd.ms-excel”。在大多數(shù)實(shí)際情況中,這個(gè)文件然后將傳送給Execl來(lái)處理(假設(shè)我們?cè)O(shè)定Execl為處理特殊MIME類(lèi)型的應(yīng)用程序)。在ASP中,設(shè)定MIME類(lèi)型的方法是通過(guò)Response對(duì)象的ContentType屬性。
多媒體文件格式MIME
最早的HTTP協(xié)議中,并沒(méi)有附加的數(shù)據(jù)類(lèi)型信息,所有傳送的數(shù)據(jù)都被客戶(hù)程序解釋為超文本標(biāo)記語(yǔ)言HTML 文檔,而為了支持多媒體數(shù)據(jù)類(lèi)型,HTTP協(xié)議中就使用了附加在文檔之前的MIME數(shù)據(jù)類(lèi)型信息來(lái)標(biāo)識(shí)數(shù)據(jù)類(lèi)型。
MIME意為多目Internet郵件擴(kuò)展,它設(shè)計(jì)的最初目的是為了在發(fā)送電子郵件時(shí)附加多媒體數(shù)據(jù),讓郵件客戶(hù)程序能根據(jù)其類(lèi)型進(jìn)行處理。然而當(dāng)它被HTTP協(xié)議支持之后,它的意義就更為顯著了。它使得HTTP傳輸?shù)牟粌H是普通的文本,而變得豐富多彩。
每個(gè)MIME類(lèi)型由兩部分組成,前面是數(shù)據(jù)的大類(lèi)別,例如聲音audio、圖象image等,后面定義具體的種類(lèi)。
常見(jiàn)的MIME類(lèi)型
超文本標(biāo)記語(yǔ)言文本 .html,.html text/html
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
GIF圖形 .gif image/gif
JPEG圖形 .ipeg,.jpg image/jpeg
au聲音文件 .au audio/basic
MIDI音樂(lè)文件 mid,.midi audio/midi,audio/x-midi
RealAudio音樂(lè)文件 .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
Internet中有一個(gè)專(zhuān)門(mén)組織IANA來(lái)確認(rèn)標(biāo)準(zhǔn)的MIME類(lèi)型,但I(xiàn)nternet發(fā)展的太快,很多應(yīng)用程序等不及IANA來(lái)確認(rèn)他們使用的MIME類(lèi)型為標(biāo)準(zhǔn)類(lèi)型。因此他們使用在類(lèi)別中以x-開(kāi)頭的方法標(biāo)識(shí)這個(gè)類(lèi)別還沒(méi)有成為標(biāo)準(zhǔn),例如:x-gzip,x-tar等。事實(shí)上這些類(lèi)型運(yùn)用的很廣泛,已經(jīng)成為了事實(shí)標(biāo)準(zhǔn)。只要客戶(hù)機(jī)和服務(wù)器共同承認(rèn)這個(gè)MIME類(lèi)型,即使它是不標(biāo)準(zhǔn)的類(lèi)型也沒(méi)有關(guān)系,客戶(hù)程序就能根據(jù)MIME類(lèi)型,采用具體的處理手段來(lái)處理數(shù)據(jù)。而Web服務(wù)器和瀏覽器(包括操作系統(tǒng))中,缺省都設(shè)置了標(biāo)準(zhǔn)的和常見(jiàn)的MIME類(lèi)型,只有對(duì)于不常見(jiàn)的 MIME類(lèi)型,才需要同時(shí)設(shè)置服務(wù)器和客戶(hù)瀏覽器,以進(jìn)行識(shí)別。
由于MIME類(lèi)型與文檔的后綴相關(guān),因此服務(wù)器使用文檔的后綴來(lái)區(qū)分不同文件的MIME類(lèi)型,服務(wù)器中必須定義文檔后綴和MIME類(lèi)型之間的對(duì)應(yīng)關(guān)系。而客戶(hù)程序從服務(wù)器上接收數(shù)據(jù)的時(shí)候,它只是從服務(wù)器接受數(shù)據(jù)流,并不了解文檔的名字,因此服務(wù)器必須使用附加信息來(lái)告訴客戶(hù)程序數(shù)據(jù)的MIME類(lèi)型。服務(wù)器在發(fā)送真正的數(shù)據(jù)之前,就要先發(fā)送標(biāo)志數(shù)據(jù)的MIME類(lèi)型的信息,這個(gè)信息使用Content-type關(guān)鍵字進(jìn)行定義,例如對(duì)于HTML文檔,服務(wù)器將首先發(fā)送以下兩行MIME標(biāo)識(shí)信息,這個(gè)標(biāo)識(shí)并不是真正的數(shù)據(jù)文件的一部分。
Content-type: text/html
注意,第二行為一個(gè)空行,這是必須的,使用這個(gè)空行的目的是將MIME信息與真正的數(shù)據(jù)內(nèi)容分隔開(kāi)
|