周開強(qiáng) 張廣旭 鹿利秋
摘 要:20世紀(jì)40年代以來,人們就夢(mèng)想能擁有一個(gè)世界性的信息庫。在這個(gè)信息庫中,信息不僅能被全球的人們存取,而且能輕松地鏈接到其他地方的信息,使用戶可以方便快捷地獲得重要的信息。1991年8月6日,伯納斯·李發(fā)表萬維網(wǎng)項(xiàng)目簡介的文章。標(biāo)志著萬維網(wǎng)公共服務(wù)的首次亮相。1994年6月,中國新聞?dòng)?jì)算機(jī)網(wǎng)絡(luò)(China News Digest,CND)將World Wide Web稱為“萬維網(wǎng)”。萬維網(wǎng)聯(lián)盟W3C理事會(huì)(World Wide Web Consortium,W3C)于1994年10月在麻省理工學(xué)院(MIT)計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室成立。
關(guān)鍵詞:萬維網(wǎng);WWW;HTTP;FTP;Web服務(wù)器
WWW(World Wide Web,3W,Web)中文譯名為萬維網(wǎng),環(huán)球信息網(wǎng)等。是歐洲核物理研究中心(CERN)為全球范圍的科學(xué)家利用Internet建立在客戶機(jī)/服務(wù)器模型之上,為了方便地進(jìn)行通信、交流和查詢所建立的。Internet采用超文本和超媒體的信息組織方式,將信息的鏈接擴(kuò)展到整個(gè)Internet上。萬維網(wǎng)是一個(gè)分布式的超媒體(Hypermedia)系統(tǒng),它是超文本(Hypertext)系統(tǒng)的擴(kuò)充,所謂超文本是包含指向其他文檔的鏈接文本,超文本是萬維網(wǎng)的基礎(chǔ),在萬維網(wǎng)中,主要使用了兩個(gè)協(xié)議,分別是HTTP協(xié)議和FTP協(xié)議。
1 HTTP協(xié)議
超文本傳輸協(xié)議(Hypertext Transfer Protocol,HTTP)提供了訪問超文本信息的功能,是萬維網(wǎng)與Web服務(wù)器之間的通信協(xié)議,屬于應(yīng)用層。HTTP協(xié)議是用于分布式協(xié)作超文本信息系統(tǒng)的、通用的、面向?qū)ο蟮膮f(xié)議??梢杂糜趥鬏敻鞣N超文本頁面和數(shù)據(jù)。
HTTP協(xié)議包括以下4個(gè)步驟:
第一,建立連接??蛻舳讼蚍?wù)器發(fā)出建立連接HTTP報(bào)文的請(qǐng)求,服務(wù)端將響應(yīng)發(fā)送回客戶端,連接建立。
第二,發(fā)送請(qǐng)求。客戶端按照HTTP協(xié)議通過連接線路向服務(wù)端發(fā)送請(qǐng)求。
第三,給出應(yīng)答。服務(wù)器按照客戶端的要求給出應(yīng)答,將結(jié)果HTML文件返回給客戶端。
第四,關(guān)閉連接??蛻舳私拥紿TTP報(bào)文請(qǐng)求后關(guān)閉連接。
HTTP協(xié)議是基于TCP/IP之上的協(xié)議,它不僅保證是否能夠正確傳輸超文本文檔,而且還要確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示等。通常HTTP報(bào)文消息包括客戶向服務(wù)器的請(qǐng)求報(bào)文和服務(wù)器向客戶的響應(yīng)報(bào)文。這兩種類型的報(bào)文消息由一個(gè)起始行,一個(gè)或者多個(gè)頭域,一個(gè)指示結(jié)束的空行和消息體組成。HTTP的報(bào)文結(jié)構(gòu)包括通用首部、請(qǐng)求首部、響應(yīng)首部、實(shí)體首部和實(shí)體主體五個(gè)部分。每個(gè)頭域由<域名>,<:>和<域值>三部分組成。(注意:域名與大小寫無關(guān),可以在域值前添加任何數(shù)量的空格符,可將萬維網(wǎng)的頭域擴(kuò)展為多行。)
通用域名首部包含請(qǐng)求和響應(yīng)報(bào)文,其中的頭域還包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via等。對(duì)通用頭域的擴(kuò)展要求通訊雙方都支持,如果存在不支持的通用頭域,一般將會(huì)作為實(shí)體處理。
一次HTTP操作其工作過程可分為以下幾步:
第一,瀏覽器分析鏈接指向頁面的URL。
第二,瀏覽器向DNS請(qǐng)求解析IP地址。
第三,域名系統(tǒng)DNS解析出微軟服務(wù)器的IP地址。
第四,瀏覽器與該服務(wù)器建立TCP鏈接。
第五,瀏覽器發(fā)出HTTP請(qǐng)求GET。
第六,服務(wù)器通過HTTP響應(yīng)把文件index.heml發(fā)送給瀏覽器。
第七,TCP連接釋放。
第八,瀏覽器將文件index.heml進(jìn)行解釋,并將Web頁顯示給用戶。
如果在以上過程中的某一步出現(xiàn)錯(cuò)誤,那么產(chǎn)生錯(cuò)誤的信息將返回到客戶端,由顯示屏輸出。對(duì)于用戶來說,這些過程是由HTTP自己完成的,用戶只要用鼠標(biāo)點(diǎn)擊,等待信息顯示就可以了。HTTP采用TCP作為運(yùn)輸層協(xié)議,保證了數(shù)據(jù)的可靠傳輸,HTTP不需要考慮數(shù)據(jù)在傳輸過程中丟失后是怎樣重傳的,但是HTTP協(xié)議本身是無連接的,即通信雙方在交換HTTP報(bào)文之前不需要先建立HTTP鏈接。
2 FTP協(xié)議
文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)是因特網(wǎng)上使用最廣泛的文件傳輸協(xié)議,F(xiàn)TP運(yùn)行在TCP上采用客戶/服務(wù)器模型,包括兩個(gè)組成部分,分別為FTP服務(wù)器、FTP客戶端。其中FTP服務(wù)器用來存儲(chǔ)文件,用戶可以使用FTP客戶端通過FTP協(xié)議訪問位于服務(wù)器上的資源。FTP使用20和21這兩個(gè)端口,如果采用主動(dòng)模式,那么數(shù)據(jù)傳輸端口就是20;如果采用被動(dòng)模式,數(shù)據(jù)傳輸端口就是21。
FTP提供以下功能:
第一,提供不同種類的主機(jī)系統(tǒng)之間的傳輸。
第二,使用戶對(duì)遠(yuǎn)程服務(wù)器上的文件進(jìn)行管理。
第三,提供文件共享能力。
另FTP還有兩種模式,主動(dòng)方式Standard(PORT方式),被動(dòng)方式Passive(PASV方式)。Standard模式下FTP客戶端發(fā)送PORT命令到服務(wù)器。Passive模式下FTP的客戶端發(fā)送PASV命令到FTP Server。
Port:FTP客戶端與服務(wù)器的21端口建立控制連接,用來傳輸控制信息,客戶端發(fā)送請(qǐng)求,通過控制連接發(fā)送給服務(wù)器端的控制進(jìn)程。服務(wù)器通過自己的數(shù)據(jù)連接端口連接至客戶端的指定端口并發(fā)送數(shù)據(jù)。
FTP服務(wù)器在很多情況下是不支持PASV模式的,因?yàn)楹芏喾阑饓υ谠O(shè)置時(shí),是不允許接受外部發(fā)起連接的,因而位于防火墻后或內(nèi)網(wǎng)的客戶端無法穿過防火墻打開FTP服務(wù)器的高端端口,故許多內(nèi)網(wǎng)的客戶端不能用PORT模式登陸FTP服務(wù)器,造成無法連接。
文件交換協(xié)議(File Exchange Protoco,F(xiàn)XP)相當(dāng)于是FTP的控制器,也可以認(rèn)為FXP本身其實(shí)就是FTP的一個(gè)子集,使一個(gè)FTP客戶端控制兩個(gè)FTP服務(wù)器,在兩個(gè)服務(wù)器之間傳送文件。FTP協(xié)議的任務(wù)是使計(jì)算機(jī)將文件傳送至另一臺(tái)計(jì)算機(jī),它與這兩臺(tái)計(jì)算機(jī)所處的位置、聯(lián)接的方式、是否使用相同的計(jì)算機(jī)操作系統(tǒng)均沒有關(guān)系。例如,兩臺(tái)計(jì)算機(jī)通過FTP協(xié)議連接,并且能夠成功地訪問Internet,用戶就可以使用FTP命令來傳輸文件。
其傳輸方式可分為兩大類:ASCII傳輸和二進(jìn)制數(shù)據(jù)傳輸。
ASCII傳輸模式:若客戶端當(dāng)時(shí)正在拷貝的文件中包含的簡單ASCII碼,在機(jī)器上運(yùn)行的是不同的操作系統(tǒng),當(dāng)文件傳輸時(shí),F(xiàn)TP協(xié)議通常會(huì)自動(dòng)地調(diào)整文件的內(nèi)容以便于將文件“翻譯”成另一臺(tái)計(jì)算機(jī)存儲(chǔ)的文本文件格式,就是我們通常所說的翻譯。但是時(shí)常會(huì)有這樣的情況發(fā)生,用戶正在傳輸?shù)奈募牟皇俏谋疚募?,它們可能是程序、?shù)據(jù)庫、字處理文件或者壓縮文件等信息。那么這時(shí),ASCII傳輸模式則會(huì)消耗大量的時(shí)間、資源進(jìn)行翻譯,與我們所希望的相去甚遠(yuǎn),于是,出現(xiàn)了第二種傳輸方式,二進(jìn)制傳輸。
參考文獻(xiàn):
[1] 沈紅,李愛華.計(jì)算機(jī)網(wǎng)絡(luò)(第二版)[M].清華大學(xué)出版社,2010.
[2] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)(第5版)[M].電子工業(yè)出版社,2011.
作者簡介:周開強(qiáng)(1993—),男,黑龍江慶安人。
張廣旭(1994—),男,遼寧建昌人。
鹿利秋(1994—),女,山東菏澤人。