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