日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

82 FreeBSD連載:數(shù)據(jù)處理方式

數(shù)據(jù)處理方式當(dāng)瀏覽器通過各種請(qǐng)求方法,試圖從服務(wù)器獲得數(shù)據(jù)的時(shí)候,服務(wù)器就必須將正確的數(shù)據(jù)返回給瀏覽器 。瀏覽器并不關(guān)心服務(wù)器是如何進(jìn)行處理的,服務(wù)器可以返回一個(gè)預(yù)先編輯好的HTML文檔,也能根據(jù)請(qǐng)求動(dòng)態(tài)生成返回的數(shù)據(jù) 。而WWW的一大特點(diǎn)就是能用來傳送多媒體數(shù)據(jù),并且這些數(shù)據(jù)的傳送是完全透明的,通過同樣的HTTP連接,可以傳送不同格式的聲音、圖象等數(shù)據(jù) 。當(dāng)服務(wù)器僅僅用于返回靜態(tài)的HTML文檔的時(shí)候,瀏覽器能夠很容易的識(shí)別其數(shù)據(jù)類型,但當(dāng)服務(wù)器不但用于返回靜態(tài)的HTML文檔,還可以動(dòng)態(tài)返回各種類型的多媒體信息時(shí),瀏覽器就不能僅僅從URL請(qǐng)求本身上判斷服務(wù)器將會(huì)返回何種數(shù)據(jù)了 。
服務(wù)器和瀏覽器之間是采用了另外的方式來標(biāo)識(shí)數(shù)據(jù)的類型,這種方式下通過在傳輸真正的數(shù)據(jù)之前,預(yù)先傳輸一個(gè)數(shù)據(jù)的MIME類型的方法,來標(biāo)識(shí)數(shù)據(jù)類型 。
多媒體文件格式MIME
最早的HTTP協(xié)議中,并沒有附加的數(shù)據(jù)類型信息,所有傳送的數(shù)據(jù)都被客戶程序解釋為超文本標(biāo)記語言HTML文檔,而為了支持多媒體數(shù)據(jù)類型,HTTP協(xié)議中就使用了附加在文檔之前的MIME數(shù)據(jù)類型信息來標(biāo)識(shí)數(shù)據(jù)類型 。
MIME意為多目Internet郵件擴(kuò)展,它設(shè)計(jì)的最初目的是為了在發(fā)送電子郵件時(shí)附加多媒體數(shù)據(jù),讓郵件客戶程序能根據(jù)其類型進(jìn)行處理 。然而當(dāng)它被HTTP協(xié)議支持之后,它的意義就更為顯著了 。它使得HTTP傳輸?shù)牟粌H是普通的文本,而變得豐富多彩 。
每個(gè)MIME類型由兩部分組成,前面是數(shù)據(jù)的大類別,例如聲音audio、圖象image等,后面定義具體的種類 。
常見的MIME類型
超文本標(biāo)記語言文本.html,.htmltext/html普通文本.txttext/plainRTF文本.rtfapplication/rtfGIF圖形.gifimage/gifJPEG圖形.ipeg,.jpgimage/jpegau聲音文件.auaudio/basicMIDI音樂文件mid,.midiaudio/midi,audio/x-midiRealAudio音樂文件.ra, .ramaudio/x-pn-realaudioMPEG文件.mpg,.mpegvideo/mpegAVI文件 .avivideo/x-msvideoGZIP文件.gzapplication/x-gzipTAR文件.tarapplication/x-tarInternet中有一個(gè)專門組織IANA來確認(rèn)標(biāo)準(zhǔn)的MIME類型,但I(xiàn)nternet發(fā)展的太快,很多應(yīng)用程序等不及IANA來確認(rèn)他們使用的MIME類型為標(biāo)準(zhǔn)類型 。因此他們使用在類別中以x-開頭的方法標(biāo)識(shí)這個(gè)類別還沒有成為標(biāo)準(zhǔn),例如:x-gzip,x-tar等 。事實(shí)上這些類型運(yùn)用的很廣泛,已經(jīng)成為了事實(shí)標(biāo)準(zhǔn) 。只要客戶機(jī)和服務(wù)器共同承認(rèn)這個(gè)MIME類型,即使它是不標(biāo)準(zhǔn)的類型也沒有關(guān)系,客戶程序就能根據(jù)MIME類型,采用具體的處理手段來處理數(shù)據(jù) 。而Web服務(wù)器和瀏覽器(包括操作系統(tǒng))中,缺省都設(shè)置了標(biāo)準(zhǔn)的和常見的MIME類型,只有對(duì)于不常見的MIME類型,才需要同時(shí)設(shè)置服務(wù)器和客戶瀏覽器,以進(jìn)行識(shí)別 。
由于MIME類型與文檔的后綴相關(guān),因此服務(wù)器使用文檔的后綴來區(qū)分不同文件的MIME類型,服務(wù)器中必須定義文檔后綴和MIME類型之間的對(duì)應(yīng)關(guān)系 。而客戶程序從服務(wù)器上接收數(shù)據(jù)的時(shí)候,它只是從服務(wù)器接受數(shù)據(jù)流,并不了解文檔的名字,因此服務(wù)器必須使用附加信息來告訴客戶程序數(shù)據(jù)的MIME類型 。服務(wù)器在發(fā)送真正的數(shù)據(jù)之前,就要先發(fā)送標(biāo)志數(shù)據(jù)的MIME類型的信息,這個(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)容分隔開 。
CGI與SSI
普通服務(wù)器返回的文檔為靜態(tài)的HTML文檔,文檔中的內(nèi)容為靜態(tài)的 。而很多情況下,需要根據(jù)瀏覽器發(fā)送請(qǐng)求時(shí)的條件改變?yōu)g覽器返回的文檔的內(nèi)容 。有些情況下,服務(wù)器能提供更復(fù)雜的功能,如通過瀏覽器登記用戶的信息等,這些情況就要求Web服務(wù)器能根據(jù)請(qǐng)求運(yùn)行一些特定的應(yīng)用程序,來完成更復(fù)雜的服務(wù)功能 。

推薦閱讀