自考計(jì)算機(jī)網(wǎng)絡(luò)原理(三)
第二章:網(wǎng)絡(luò)應(yīng)用
一、計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)
(一)體系結(jié)構(gòu)分類(lèi)
計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用很多,從體系結(jié)構(gòu)角度可以分為:客戶/服務(wù)器(C/S)結(jié)構(gòu)、純P2P結(jié)構(gòu)和混合結(jié)構(gòu)3種類(lèi)型。
(二)客戶/服務(wù)器(C/S)結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)用
客戶/服務(wù)器(C/S)結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用是最典型、最基本的網(wǎng)絡(luò)應(yīng)用,如:www應(yīng)用;文件傳輸;電子郵件。主要特征有:
網(wǎng)絡(luò)通信雙方分為客戶程序和服務(wù)器程序,用戶與用戶之間不進(jìn)行直接通信。
服務(wù)器程序先運(yùn)行,做好接受通信的準(zhǔn)備。
客戶程序后運(yùn)行,主動(dòng)與服務(wù)器進(jìn)行通信。
(三)純P2P結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)用
P2P應(yīng)用中的對(duì)等端是一個(gè)服務(wù)器與客戶的結(jié)合體。
(四)混合結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)用
混合結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)用將C/S應(yīng)用與P2P應(yīng)用相結(jié)合,既有中心服務(wù)器的存在,又有對(duì)等端(客戶)間的直接通信。
二、網(wǎng)絡(luò)應(yīng)用通信基本原理
(一)應(yīng)用層
網(wǎng)絡(luò)應(yīng)用的基本通信方式是C/S通信。
協(xié)議定義了應(yīng)用進(jìn)程間交換的報(bào)文類(lèi)型、報(bào)文構(gòu)成部分具體含義以及交換時(shí)序等內(nèi)容,即語(yǔ)法、語(yǔ)義和時(shí)序等協(xié)議三要素內(nèi)容。
(二)網(wǎng)絡(luò)應(yīng)用
典型的網(wǎng)絡(luò)應(yīng)用編程接口是套接字(Socket),套接字是每個(gè)應(yīng)用進(jìn)程與其他應(yīng)用進(jìn)程進(jìn)行網(wǎng)絡(luò)通信時(shí),接收和發(fā)送報(bào)文的通道。通過(guò)進(jìn)程運(yùn)行的主機(jī)IP地址以及其套接字所綁定的端口號(hào)可以標(biāo)識(shí)應(yīng)用進(jìn)程。

對(duì)每個(gè)套接字進(jìn)行編號(hào),用于標(biāo)識(shí)該套接字,該編號(hào)稱(chēng)為端口號(hào)。
IP地址是Internet的網(wǎng)絡(luò)層地址,用于唯一標(biāo)識(shí)一個(gè)主機(jī)或路由器接口。
(三)TCP服務(wù)
TCP服務(wù)分類(lèi):面向連接的服務(wù)和可靠的數(shù)據(jù)傳輸服務(wù)。
面向連接的服務(wù):在應(yīng)用層報(bào)文開(kāi)始傳送之前,TCP客戶和服務(wù)器互相交換傳輸層控制信息,完成握手。在客戶進(jìn)程與服務(wù)器進(jìn)程的套接字之間建立一條邏輯的TCP連接。這條連接是雙全工的,當(dāng)應(yīng)用程序結(jié)束報(bào)文發(fā)送時(shí),必須拆除該連接。
可靠的數(shù)據(jù)傳輸服務(wù):應(yīng)用進(jìn)程能夠依靠TCP實(shí)現(xiàn)端到端的無(wú)差錯(cuò)、按順序交付所有發(fā)送數(shù)據(jù)的服務(wù)。
(四)UDP服務(wù)
UDP是一種不提供連接的保障的輕量級(jí)傳輸層協(xié)議,僅提供最小的“盡力”服務(wù)。UDP是不可靠的數(shù)據(jù)傳輸服務(wù),因此在兩個(gè)進(jìn)程通信前沒(méi)有握手過(guò)程。
TCP服務(wù)與UDP服務(wù)比較:

三、域名系統(tǒng)(DNS)
(一)域名解析
實(shí)現(xiàn)將域名映射為lP地址的過(guò)程,稱(chēng)為域名解析。域名服務(wù)器分布在整個(gè)互聯(lián)網(wǎng)上,每個(gè)域名服務(wù)器只存儲(chǔ)了部分域名信息,域名中的英文字母不區(qū)分大小寫(xiě)。
(二)層次化域名空間
國(guó)家頂級(jí)域名nTLD:如cn表示中國(guó),us表示美國(guó),uk表示英國(guó)等。
通用頂級(jí)域名gTLD:最早的頂級(jí)域名是com(公司和企業(yè))、net(網(wǎng)絡(luò)服務(wù)機(jī)構(gòu))、org(非盈利性組織)、edu(專(zhuān)用的教育機(jī)構(gòu))、gov(專(zhuān)用的政府部門(mén))、mil(專(zhuān)用的軍事部門(mén))、int(國(guó)際組織)。
基礎(chǔ)結(jié)構(gòu)域名:這種頂級(jí)域名只有一個(gè),即arpa,用于反向域名解析,又稱(chēng)反向域名。
(三)域名服務(wù)器
定義:DNS服務(wù)器的管轄范圍不是以“域”為單位,而是以“區(qū)”為單位。域名服務(wù)器根據(jù)其主要保存的域名信息以及在域名解析過(guò)程中的作用等,可以分為:根域名服務(wù)器、頂級(jí)域名服務(wù)器、權(quán)威域名服務(wù)器、中間域名服務(wù)器。
概念:其中根域名服務(wù)器是最重要的域名服務(wù)器,在因特網(wǎng)上共有13個(gè)不同IP地址的根域名服務(wù)器。它們的名字是用一個(gè)英文字母命名,從a一直到m。任何一個(gè)擁有域名的主機(jī),其域名與lP地址的映射關(guān)系等信息都存儲(chǔ)在所在網(wǎng)絡(luò)的權(quán)威域名服務(wù)器上。
主機(jī)如何確定本地域名服務(wù)器:
任何一個(gè)主機(jī)在網(wǎng)絡(luò)地址配置時(shí),都會(huì)配置一個(gè)域名服務(wù)器作為默認(rèn)域名服務(wù)器,這臺(tái)主機(jī)任何時(shí)候需要進(jìn)行域名解析,都會(huì)將域名查詢請(qǐng)求發(fā)送給該服務(wù)器;
該服務(wù)器如果保存了被查詢域名的信息,則直接作出響應(yīng),如果沒(méi)有,則代理查詢其他域名服務(wù)器,直到查詢到結(jié)果,最后將查詢結(jié)果發(fā)送到查詢主機(jī)。
這個(gè)默認(rèn)域名服務(wù)器通常稱(chēng)為本地域名服務(wù)器,是主機(jī)進(jìn)行域名查詢過(guò)程中最先被查詢的域名服務(wù)器。
(四)域名解析過(guò)程
城名解析分為遞歸解析和選代解析,通常本地域名服務(wù)器都提供遞歸查詢服務(wù)。
迭代查詢服務(wù):主機(jī)進(jìn)行域名查詢時(shí),本地域名服務(wù)器沒(méi)有被查詢域名信息,則先求助于根域名服務(wù)器。根域名服務(wù)器只是將下一步要查詢的服務(wù)器告知查詢主機(jī)的本地域名服務(wù)器,本地域名服務(wù)器繼續(xù)查詢下一個(gè)域名服務(wù)器,知道查詢到被查詢的域名的IP地址。

遞歸查詢服務(wù):主機(jī)進(jìn)行域名查詢時(shí),本地域名服務(wù)器沒(méi)有被查詢域名信息,則本地域名服務(wù)器代理主機(jī)查詢根域名服務(wù)器。根域名服務(wù)器代理本地域名服務(wù)器查詢下一個(gè)域名服務(wù),以此類(lèi)推。直到被查詢域名的IP地址,最后將解析結(jié)果發(fā)送給主機(jī)。

四、萬(wàn)維網(wǎng)應(yīng)用
(一)萬(wàn)維網(wǎng)應(yīng)用結(jié)構(gòu)
萬(wàn)維網(wǎng)應(yīng)用也稱(chēng)為Web應(yīng)用。
構(gòu)成:Web應(yīng)用主要包括Web服務(wù)器、瀏覽器與超文本傳輸協(xié)議(HTTP)等部分,瀏覽器是Web應(yīng)用的客戶端軟件。
基本知識(shí):在Web應(yīng)用中,通過(guò)一個(gè)URL地址來(lái)尋址一個(gè)Web頁(yè)或Web對(duì)象,每個(gè)URL地址主要由兩部分組成:存放對(duì)象的服務(wù)器主機(jī)域名(或lP地址)和對(duì)象的路徑名。例如:URL地址為http://www.abc.cn/cs/index.html,其中www.abc.cn是Web服務(wù)器主機(jī)域名,/cs/index.html是路徑名。
(二)HTTP

HTTP概述:HTTP是Web應(yīng)用的應(yīng)用層協(xié)議,定義瀏覽器如何向Web服務(wù)器發(fā)送請(qǐng)求以及Web服務(wù)器如何向?yàn)g覽器進(jìn)行響應(yīng)。HTTP使用的端口號(hào)是80端口。
HTTP基于傳輸層的TCP傳輸報(bào)文。瀏覽器在向服務(wù)器發(fā)送請(qǐng)求之前,首先需要建立TCP連接,然后才能發(fā)送HTTP報(bào)文,并接收HTTP響應(yīng)報(bào)文。根據(jù)HTTP在使用TCP連接的策略不同,可以分為非持久連接的HTTP和持久連接的HTTP。
非持久連接的HTTP1.0:

非持久連接的HTTP1.0中,客戶HTTP需先向Web服務(wù)器發(fā)送請(qǐng)求建立TCP連接的請(qǐng)求報(bào)文,等待Web服務(wù)器的響應(yīng)報(bào)文,這一來(lái)一回的一個(gè)往返時(shí)間為一個(gè)RTT;
Web服務(wù)器響應(yīng)HTTP客戶后,HTTP客戶再請(qǐng)求Web網(wǎng)頁(yè),Web服務(wù)器響應(yīng)后,告知HTTP客戶該網(wǎng)頁(yè)有多少個(gè)圖片引用,并通知TCP斷開(kāi)此TCP連接;
隨后HTTP客戶再次請(qǐng)求TCP連接,Web響應(yīng)后,再請(qǐng)求第一個(gè)圖片的TCP連接,等待響應(yīng),Web響應(yīng)后通知TCP連接斷開(kāi)此TCP連接;

HTTP報(bào)文由四部分組成:起始行、首部行、空白行和實(shí)體主體。
HTTP報(bào)文可以分為兩類(lèi):請(qǐng)求報(bào)文和響應(yīng)報(bào)文,請(qǐng)求報(bào)文由瀏覽器(客戶端)發(fā)送給Web服務(wù)器,響應(yīng)報(bào)文由Web發(fā)送給瀏覽器。
HTTP典型的請(qǐng)求方法:有GET、HEAD、POST、OPTION、PUT等。
(三)Cookie
定義:Cookie中文名稱(chēng)為小型文本文件,是由Web服務(wù)器端生成,發(fā)送給瀏覽器,并存儲(chǔ)在用戶本地終端上的數(shù)據(jù)。Web應(yīng)用引入Cookie機(jī)制,用于跟蹤用戶。
應(yīng)用:最常見(jiàn)的用途包括以下幾點(diǎn):
網(wǎng)站可以利用Cookie的ID來(lái)準(zhǔn)確統(tǒng)計(jì)網(wǎng)站的實(shí)際訪問(wèn)人數(shù)等數(shù)據(jù)。
網(wǎng)站可以利用Cookie制某些特定用戶的訪問(wèn)。
網(wǎng)站可以存儲(chǔ)用戶訪問(wèn)過(guò)程的操作習(xí)慣和偏好,有針對(duì)性地為用戶提供服務(wù),提升用戶體驗(yàn)。
記錄用戶登錄網(wǎng)站使用的用戶名、密碼等信息,當(dāng)用戶多次登錄時(shí),無(wú)須每次都從鍵盤(pán)輸入這些煩瑣的字符和數(shù)字。
電子商務(wù)網(wǎng)站利用Cookie可以實(shí)現(xiàn)“購(gòu)物車(chē)”功能。對(duì)于同一個(gè)ID的用戶,網(wǎng)站可以跟蹤其向“購(gòu)物車(chē)”中添加的不同商品,每個(gè)商品都會(huì)和ID一起存儲(chǔ)在網(wǎng)站數(shù)據(jù)庫(kù)中。當(dāng)用戶選擇結(jié)賬時(shí),網(wǎng)站通過(guò)對(duì)數(shù)據(jù)庫(kù)中該ID的檢索,找到用戶購(gòu)買(mǎi)的所有商品,一起實(shí)現(xiàn)結(jié)賬功能。