計(jì)算機(jī)網(wǎng)絡(luò)_06應(yīng)用層_第1頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)_06應(yīng)用層_第2頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)_06應(yīng)用層_第3頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)_06應(yīng)用層_第4頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)_06應(yīng)用層_第5頁(yè)
已閱讀5頁(yè),還剩199頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、計(jì)算機(jī)網(wǎng)絡(luò)第 6 章 應(yīng)用層第 6 章 應(yīng)用層6.1 域名系統(tǒng) DNS 6.1.1 域名系統(tǒng)概述 6.1.2 因特網(wǎng)的域名結(jié)構(gòu) 6.1.3 域名服務(wù)器6.2 文件傳送協(xié)議 6.2.1 FTP 概述 6.2.2 FTP 的基本工作原理 6.2.3 簡(jiǎn)單文件傳送協(xié)議 TFTP 第 6 章 應(yīng)用層(續(xù))6.3 遠(yuǎn)程終端協(xié)議 TELNET 6.4 萬(wàn)維網(wǎng) WWW 6.4.1 概述 6.4.2 統(tǒng)一資源定位符 URL 6.4.3 超文本傳送協(xié)議 HTTP 6.4.4 萬(wàn)維網(wǎng)的文檔 6.4.5 萬(wàn)維網(wǎng)的信息檢索系統(tǒng)第 6 章 應(yīng)用層(續(xù)) 6.5 電子郵件6.5.1 電子郵件概述6.5.2 簡(jiǎn)單郵件傳送協(xié)

2、議 SMTP6.5.3 電子郵件的信息格式6.5.4 郵件讀取協(xié)議 POP3 和 IMAP6.5.5 基于萬(wàn)維網(wǎng)的電子郵件 6.5.6 通用因特網(wǎng)郵件擴(kuò)充 MIME第 6 章 應(yīng)用層(續(xù))6.6 動(dòng)態(tài)主機(jī)配置協(xié)議 DHCP 6.7 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議 SNMP6.7.1 網(wǎng)絡(luò)管理的基本概念6.7.2 管理信息結(jié)構(gòu) SMI 6.7.3 管理信息庫(kù) MIB 6.7.4 SNMP 的協(xié)議數(shù)據(jù)單元和報(bào)文6.8 應(yīng)用進(jìn)程跨越網(wǎng)絡(luò)的通信6.8.1 系統(tǒng)調(diào)用和應(yīng)用編程接口6.8.2 幾種常用的系統(tǒng)調(diào)用應(yīng)用層協(xié)議的特點(diǎn) n每個(gè)應(yīng)用層協(xié)議都是為了解決某一類應(yīng)用問題,而問題的解決又往往是通過位于不同主機(jī)中的多個(gè)應(yīng)用

3、進(jìn)程之間的通信和協(xié)同工作來(lái)完成的。應(yīng)用層的具體內(nèi)容就是規(guī)定應(yīng)用進(jìn)程在通信時(shí)所遵循的協(xié)議。n應(yīng)用層的許多協(xié)議都是基于客戶服務(wù)器方式??蛻?client)和服務(wù)器(server)都是指通信中所涉及的兩個(gè)應(yīng)用進(jìn)程??蛻舴?wù)器方式所描述的是進(jìn)程之間服務(wù)和被服務(wù)的關(guān)系??蛻羰欠?wù)請(qǐng)求方,服務(wù)器是服務(wù)提供方。 6.1 域名系統(tǒng) DNS6.1.1 域名系統(tǒng)概述n許多應(yīng)用層軟件經(jīng)常直接使用域名系統(tǒng) DNS (Domain Name System),但計(jì)算機(jī)的用戶只是間接而不是直接使用域名系統(tǒng)。 n因特網(wǎng)采用層次結(jié)構(gòu)的命名樹作為主機(jī)的名字,并使用分布式的域名系統(tǒng) DNS。n名字到 IP 地址的解析是由若干個(gè)域名

4、服務(wù)器程序完成的。域名服務(wù)器程序在專設(shè)的結(jié)點(diǎn)上運(yùn)行,運(yùn)行該程序的機(jī)器稱為域名服務(wù)器。 6.1.2 因特網(wǎng)的域名結(jié)構(gòu)n因特網(wǎng)采用了層次樹狀結(jié)構(gòu)的命名方法。n任何一個(gè)連接在因特網(wǎng)上的主機(jī)或路由器,都有一個(gè)唯一的層次結(jié)構(gòu)的名字,即域名。n域名的結(jié)構(gòu)由標(biāo)號(hào)序列組成,各標(biāo)號(hào)之間用點(diǎn)隔開: . 三級(jí)域名 . 二級(jí)域名 . 頂級(jí)域名n各標(biāo)號(hào)分別代表不同級(jí)別的域名。 域名只是個(gè)邏輯概念n域名只是個(gè)邏輯概念,并不代表計(jì)算機(jī)所在的物理地點(diǎn)。n變長(zhǎng)的域名和使用有助記憶的字符串,是為了便于人來(lái)使用。而 IP 地址是定長(zhǎng)的 32 位二進(jìn)制數(shù)字則非常便于機(jī)器進(jìn)行處理。n域名中的“點(diǎn)”和點(diǎn)分十進(jìn)制 IP 地址中的“點(diǎn)”并無(wú)

5、一一對(duì)應(yīng)的關(guān)系。點(diǎn)分十進(jìn)制 IP 地址中一定是包含三個(gè)“點(diǎn)”,但每一個(gè)域名中“點(diǎn)”的數(shù)目則不一定正好是三個(gè)。 頂級(jí)域名 TLD (Top Level Domain)(1) 國(guó)家頂級(jí)域名 nTLD:如: .cn 表示中國(guó),.us 表示美國(guó),.uk 表示英國(guó),等等。(2) 通用頂級(jí)域名 gTLD:最早的頂級(jí)域名是: .com (公司和企業(yè)) .net (網(wǎng)絡(luò)服務(wù)機(jī)構(gòu)) .org (非贏利性組織) .edu (美國(guó)專用的教育機(jī)構(gòu)() .gov (美國(guó)專用的政府部門) .mil (美國(guó)專用的軍事部門) .int (國(guó)際組織)頂級(jí)域名 TLD (續(xù))(3) 基礎(chǔ)結(jié)構(gòu)域名(infrastructure d

6、omain):這種頂級(jí)域名只有一個(gè),即 arpa,用于反向域名解析,因此又稱為反向域名。 新增加了下列的通用頂級(jí)域名 (航空運(yùn)輸企業(yè)) (公司和企業(yè))n.cat (加泰隆人的語(yǔ)言和文化團(tuán)體) (合作團(tuán)體) (各種情況) (人力資源管理者)n.mobi (移動(dòng)產(chǎn)品與服務(wù)的用戶和提供者) (博物館) (個(gè)人) (有證書的專業(yè)人員) (旅游業(yè)) 因特網(wǎng)的域名空間 根四級(jí)域名mailwwwbjeducomcctvibmhp二級(jí)域名pkutsinghua三級(jí)域名mailwwwcomnetor

7、gedugovaerocnuk頂級(jí)域名6.1.3 域名服務(wù)器 n一個(gè)服務(wù)器所負(fù)責(zé)管轄的(或有權(quán)限的)范圍叫做區(qū)(zone)。n各單位根據(jù)具體情況來(lái)劃分自己管轄范圍的區(qū)。但在一個(gè)區(qū)中的所有節(jié)點(diǎn)必須是能夠連通的。n每一個(gè)區(qū)設(shè)置相應(yīng)的權(quán)限域名服務(wù)器,用來(lái)保存該區(qū)中的所有主機(jī)的域名到IP地址的映射。nDNS 服務(wù)器的管轄范圍不是以“域”為單位,而是以“區(qū)”為單位。 區(qū)的不同劃分方法舉例 域 區(qū)abcxuvwty(a) 區(qū) = 域(b) 區(qū) 域域 區(qū)區(qū)abcxuvwtycomeduorg根comeduorg根樹狀結(jié)構(gòu)的 DNS 域名服務(wù)器 根域名服務(wù)器org 域名服務(wù)器com 域名服務(wù)器edu 域名服務(wù)

8、器域名服務(wù)器abc 公司有兩個(gè)權(quán)限域名服務(wù)器權(quán)限域名服務(wù)器根域名服務(wù)器頂級(jí)域名服務(wù)器域名服務(wù)器域名服務(wù)器有以下四種類型 n根域名服務(wù)器 n頂級(jí)域名服務(wù)器 n權(quán)限域名服務(wù)器 n本地域名服務(wù)器 根域名服務(wù)器 最高層次的域名服務(wù)器n根域名服務(wù)器是最重要的域名服務(wù)器。所有的根域名服務(wù)器都知道所有的頂級(jí)域名服務(wù)器的域名和 IP 地址。n不管是哪一個(gè)本地域名服務(wù)器,若要對(duì)因特網(wǎng)上任何一個(gè)域名進(jìn)行解析,只要自己無(wú)法解析,就首先求助于根域名服務(wù)器。n在因特網(wǎng)上共有13 個(gè)不同 IP 地址的根域名服務(wù)器,它們的名字是用一個(gè)英文字母命名,從a 一直到 m(前13 個(gè)字母)。根域名服務(wù)器共有 13 套裝置(不是 1

9、3 個(gè)機(jī)器)n這些根域名服務(wù)器相應(yīng)的域名分別是 n到 2006 年底全世界已經(jīng)安裝了一百多個(gè)根域名服務(wù)器機(jī)器,分布在世界各地。n這樣做的目的是為了方便用戶,使世界上大部分 DNS 域名服務(wù)器都能就近找到一個(gè)根域名服務(wù)器。 舉例:根域名服務(wù)器 f 的地點(diǎn)分布圖 根域名服務(wù)器并不直接把域名直接轉(zhuǎn)換成 IP 地址。 在使用迭代查詢時(shí),根域名服務(wù)器把下一步應(yīng)當(dāng)找 的頂級(jí)域名服務(wù)器的 IP 地址告訴本地域名服務(wù)器。共 40 個(gè)機(jī)器頂級(jí)域名服務(wù)器(即 TLD 服務(wù)器) n這些域名服務(wù)器負(fù)責(zé)管理在該頂級(jí)域名服務(wù)器注冊(cè)的所有二級(jí)域名。n當(dāng)收到 DNS 查詢請(qǐng)求時(shí),就給出相應(yīng)的回答(可能是最后的結(jié)果,也可能是下

10、一步應(yīng)當(dāng)找的域名服務(wù)器的 IP 地址)。 權(quán)限域名服務(wù)器 n這就是前面已經(jīng)講過的負(fù)責(zé)一個(gè)區(qū)的域名服務(wù)器。n當(dāng)一個(gè)權(quán)限域名服務(wù)器還不能給出最后的查詢回答時(shí),就會(huì)告訴發(fā)出查詢請(qǐng)求的 DNS 客戶,下一步應(yīng)當(dāng)找哪一個(gè)權(quán)限域名服務(wù)器。 本地域名服務(wù)器 n本地域名服務(wù)器對(duì)域名系統(tǒng)非常重要。n當(dāng)一個(gè)主機(jī)發(fā)出 DNS 查詢請(qǐng)求時(shí),這個(gè)查詢請(qǐng)求報(bào)文就發(fā)送給本地域名服務(wù)器。n每一個(gè)因特網(wǎng)服務(wù)提供者 ISP,或一個(gè)大學(xué),甚至一個(gè)大學(xué)里的系,都可以擁有一個(gè)本地域名服務(wù)器,n這種域名服務(wù)器有時(shí)也稱為默認(rèn)域名服務(wù)器。 提高域名服務(wù)器的可靠性nDNS 域名服務(wù)器都把數(shù)據(jù)復(fù)制到幾個(gè)域名服務(wù)器來(lái)保存,其中的一個(gè)是主域名服務(wù)器

11、,其他的是輔助域名服務(wù)器。n當(dāng)主域名服務(wù)器出故障時(shí),輔助域名服務(wù)器可以保證 DNS 的查詢工作不會(huì)中斷。n主域名服務(wù)器定期把數(shù)據(jù)復(fù)制到輔助域名服務(wù)器中,而更改數(shù)據(jù)只能在主域名服務(wù)器中進(jìn)行。這樣就保證了數(shù)據(jù)的一致性。 域名的解析過程 n主機(jī)向本地域名服務(wù)器的查詢一般都是采用遞歸查詢。如果主機(jī)所詢問的本地域名服務(wù)器不知道被查詢域名的 IP 地址,那么本地域名服務(wù)器就以 DNS 客戶的身份,向其他根域名服務(wù)器繼續(xù)發(fā)出查詢請(qǐng)求報(bào)文。n本地域名服務(wù)器向根域名服務(wù)器的查詢通常是采用迭代查詢。當(dāng)根域名服務(wù)器收到本地域名服務(wù)器的迭代查詢請(qǐng)求報(bào)文時(shí),要么給出所要查詢的 IP 地址,要么告訴本地域名服務(wù)器:“你下

12、一步應(yīng)當(dāng)向哪一個(gè)域名服務(wù)器進(jìn)行查詢”。然后讓本地域名服務(wù)器進(jìn)行后續(xù)的查詢。本地域名服務(wù)器采用迭代查詢 頂級(jí)域名服務(wù)器權(quán)限域名服務(wù)本地域名服務(wù)器根域名服務(wù)器迭代查詢 的 IP 地址 遞歸查詢需要查找 的 IP 地址本地域名服務(wù)器采用遞歸查詢(比較少用) 頂級(jí)域名服務(wù)器權(quán)限域名服務(wù)本地域名服務(wù)器 根域名服務(wù)器遞歸查詢遞歸查詢 的 IP 地址 需要查找 的 IP 地址名字的高速緩存 n每個(gè)域名服務(wù)器都維護(hù)一個(gè)高速緩存,存放最近用過的名字以及從何處獲得名字映射信息的記錄。n可大大減輕根域名服務(wù)器的負(fù)荷,使因特網(wǎng)上的 DNS 查詢請(qǐng)求和回答報(bào)文的數(shù)量大為減少。 n為保持高速緩存中的內(nèi)容正確,域名服務(wù)器應(yīng)

13、為每項(xiàng)內(nèi)容設(shè)置計(jì)時(shí)器,并處理超過合理時(shí)間的項(xiàng)(例如,每個(gè)項(xiàng)目只存放兩天)。n當(dāng)權(quán)限域名服務(wù)器回答一個(gè)查詢請(qǐng)求時(shí),在響應(yīng)中都指明綁定有效存在的時(shí)間值。增加此時(shí)間值可減少網(wǎng)絡(luò)開銷,而減少此時(shí)間值可提高域名轉(zhuǎn)換的準(zhǔn)確性。 6.2 文件傳送協(xié)議 6.2.1 FTP概述n文件傳送協(xié)議 FTP (File Transfer Protocol) 是因特網(wǎng)上使用得最廣泛的文件傳送協(xié)議。nFTP 提供交互式的訪問,允許客戶指明文件的類型與格式,并允許文件具有存取權(quán)限。nFTP 屏蔽了各計(jì)算機(jī)系統(tǒng)的細(xì)節(jié),因而適合于在異構(gòu)網(wǎng)絡(luò)中任意計(jì)算機(jī)之間傳送文件。nRFC 959 很早就成為了因特網(wǎng)的正式標(biāo)準(zhǔn)。 文件傳送并非很

14、簡(jiǎn)單的問題n網(wǎng)絡(luò)環(huán)境中的一項(xiàng)基本應(yīng)用就是將文件從一臺(tái)計(jì)算機(jī)中復(fù)制到另一臺(tái)可能相距很遠(yuǎn)的計(jì)算機(jī)中。n初看起來(lái),在兩個(gè)主機(jī)之間傳送文件是很簡(jiǎn)單的事情。n其實(shí)這往往非常困難。原因是眾多的計(jì)算機(jī)廠商研制出的文件系統(tǒng)多達(dá)數(shù)百種,且差別很大。 6.2.2 FTP 的基本工作原理 網(wǎng)絡(luò)環(huán)境下復(fù)制文件的復(fù)雜性:(1) 計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)的格式不同。(2) 文件的目錄結(jié)構(gòu)和文件命名的規(guī)定不同。(3) 對(duì)于相同的文件存取功能,操作系統(tǒng)使用的命令不同。(4) 訪問控制方法不同。 FTP 特點(diǎn)n文件傳送協(xié)議 FTP 只提供文件傳送的一些基本的服務(wù),它使用 TCP 可靠的運(yùn)輸服務(wù)。nFTP 的主要功能是減少或消除在不同操作

15、系統(tǒng)下處理文件的不兼容性。nFTP 使用客戶服務(wù)器方式。一個(gè) FTP 服務(wù)器進(jìn)程可同時(shí)為多個(gè)客戶進(jìn)程提供服務(wù)。FTP 的服務(wù)器進(jìn)程由兩大部分組成:一個(gè)主進(jìn)程,負(fù)責(zé)接受新的請(qǐng)求;另外有若干個(gè)從屬進(jìn)程,負(fù)責(zé)處理單個(gè)請(qǐng)求。主進(jìn)程的工作步驟如下n打開熟知端口(端口號(hào)為 21),使客戶進(jìn)程能夠連接上。n等待客戶進(jìn)程發(fā)出連接請(qǐng)求。n啟動(dòng)從屬進(jìn)程來(lái)處理客戶進(jìn)程發(fā)來(lái)的請(qǐng)求。從屬進(jìn)程對(duì)客戶進(jìn)程的請(qǐng)求處理完畢后即終止,但從屬進(jìn)程在運(yùn)行期間根據(jù)需要還可能創(chuàng)建其他一些子進(jìn)程。n回到等待狀態(tài),繼續(xù)接受其他客戶進(jìn)程發(fā)來(lái)的請(qǐng)求。主進(jìn)程與從屬進(jìn)程的處理是并發(fā)地進(jìn)行。 兩個(gè)連接n控制連接在整個(gè)會(huì)話期間一直保持打開,F(xiàn)TP 客戶

16、發(fā)出的傳送請(qǐng)求通過控制連接發(fā)送給服務(wù)器端的控制進(jìn)程,但控制連接不用來(lái)傳送文件。n實(shí)際用于傳輸文件的是“數(shù)據(jù)連接”。服務(wù)器端的控制進(jìn)程在接收到 FTP 客戶發(fā)送來(lái)的文件傳輸請(qǐng)求后就創(chuàng)建“數(shù)據(jù)傳送進(jìn)程”和“數(shù)據(jù)連接”,用來(lái)連接客戶端和服務(wù)器端的數(shù)據(jù)傳送進(jìn)程。n數(shù)據(jù)傳送進(jìn)程實(shí)際完成文件的傳送,在傳送完畢后關(guān)閉“數(shù)據(jù)傳送連接”并結(jié)束運(yùn)行。 FTP 使用的兩個(gè) TCP 連接 控制進(jìn)程FTP 客戶端FTP 服務(wù)器端因特網(wǎng)TCP 控制連接TCP 數(shù)據(jù)連接用戶界面控制進(jìn)程數(shù)據(jù)傳送進(jìn)程數(shù)據(jù)傳送進(jìn)程n 當(dāng)客戶進(jìn)程向服務(wù)器進(jìn)程發(fā)出建立連接請(qǐng)求時(shí),要尋找連接服務(wù)器進(jìn)程的熟知端口(21),同時(shí)還要告訴服務(wù)器進(jìn)程自己的另

17、一個(gè)端口號(hào)碼,用于建立數(shù)據(jù)傳送連接。n接著,服務(wù)器進(jìn)程用自己傳送數(shù)據(jù)的熟知端口(20)與客戶進(jìn)程所提供的端口號(hào)碼建立數(shù)據(jù)傳送連接。n由于 FTP 使用了兩個(gè)不同的端口號(hào),所以數(shù)據(jù)連接與控制連接不會(huì)發(fā)生混亂。 兩個(gè)不同的端口號(hào) n使協(xié)議更加簡(jiǎn)單和更容易實(shí)現(xiàn)。n在傳輸文件時(shí)還可以利用控制連接(例如,客戶發(fā)送請(qǐng)求終止傳輸)。 使用兩個(gè)不同端口號(hào)的好處 NFS 采用另一種思路nNFS 允許應(yīng)用進(jìn)程打開一個(gè)遠(yuǎn)地文件,并能在該文件的某一個(gè)特定的位置上開始讀寫數(shù)據(jù)。nNFS 可使用戶只復(fù)制一個(gè)大文件中的一個(gè)很小的片段,而不需要復(fù)制整個(gè)大文件。n對(duì)于上述例子,計(jì)算機(jī) A 的 NFS 客戶軟件,把要添加的數(shù)據(jù)和

18、在文件后面寫數(shù)據(jù)的請(qǐng)求一起發(fā)送到遠(yuǎn)地的計(jì)算機(jī) B 的 NFS 服務(wù)器。NFS 服務(wù)器更新文件后返回應(yīng)答信息。n在網(wǎng)絡(luò)上傳送的只是少量的修改數(shù)據(jù)。 6.2.3 簡(jiǎn)單文件傳送協(xié)議 TFTP(Trivial File Transfer Protocol) nTFTP 是一個(gè)很小且易于實(shí)現(xiàn)的文件傳送協(xié)議。nTFTP 使用客戶服務(wù)器方式和使用 UDP 數(shù)據(jù)報(bào),因此 TFTP 需要有自己的差錯(cuò)改正措施。nTFTP 只支持文件傳輸而不支持交互。nTFTP 沒有一個(gè)龐大的命令集,沒有列目錄的功能,也不能對(duì)用戶進(jìn)行身份鑒別。 TFTP 的主要特點(diǎn)是 (1) 每次傳送的數(shù)據(jù) PDU 中有 512 字節(jié)的數(shù)據(jù),但最

19、后一次可不足 512 字節(jié)。 (2) 數(shù)據(jù) PDU 也稱為文件塊(block),每個(gè)塊按序編號(hào),從 1 開始。 (3) 支持 ASCII 碼或二進(jìn)制傳送。 (4) 可對(duì)文件進(jìn)行讀或?qū)憽?(5) 使用很簡(jiǎn)單的首部。 TFTP 的工作很像停止等待協(xié)議n發(fā)送完一個(gè)文件塊后就等待對(duì)方的確認(rèn),確認(rèn)時(shí)應(yīng)指明所確認(rèn)的塊編號(hào)。n發(fā)完數(shù)據(jù)后在規(guī)定時(shí)間內(nèi)收不到確認(rèn)就要重發(fā)數(shù)據(jù) PDU。n發(fā)送確認(rèn) PDU 的一方若在規(guī)定時(shí)間內(nèi)收不到下一個(gè)文件塊,也要重發(fā)確認(rèn) PDU。這樣就可保證文件的傳送不致因某一個(gè)數(shù)據(jù)報(bào)的丟失而告失敗。 TFTP 的工作很像停止等待協(xié)議n在一開始工作時(shí)。TFTP 客戶進(jìn)程發(fā)送一個(gè)讀請(qǐng)求 PDU

20、或?qū)懻?qǐng)求 PDU 給 TFTP 服務(wù)器進(jìn)程,其熟知端口號(hào)碼為 69。nTFTP 服務(wù)器進(jìn)程要選擇一個(gè)新的端口和 TFTP 客戶進(jìn)程進(jìn)行通信。n若文件長(zhǎng)度恰好為 512 字節(jié)的整數(shù)倍,則在文件傳送完畢后,還必須在最后發(fā)送一個(gè)只含首部而無(wú)數(shù)據(jù)的數(shù)據(jù) PDU。n若文件長(zhǎng)度不是 512 字節(jié)的整數(shù)倍,則最后傳送數(shù)據(jù) PDU 的數(shù)據(jù)字段一定不滿512字節(jié),這正好可作為文件結(jié)束的標(biāo)志。6.3 按遠(yuǎn)程終端協(xié)議 TELNETnTELNET 是一個(gè)簡(jiǎn)單的遠(yuǎn)程終端協(xié)議,也是因特網(wǎng)的正式標(biāo)準(zhǔn)。n用戶用 TELNET 就可在其所在地通過 TCP 連接注冊(cè)(即登錄)到遠(yuǎn)地的另一個(gè)主機(jī)上(使用主機(jī)名或 IP 地址)。nT

21、ELNET 能將用戶的擊鍵傳到遠(yuǎn)地主機(jī),同時(shí)也能將遠(yuǎn)地主機(jī)的輸出通過 TCP 連接返回到用戶屏幕。這種服務(wù)是透明的,因?yàn)橛脩舾杏X到好像鍵盤和顯示器是直接連在遠(yuǎn)地主機(jī)上。 客戶服務(wù)器方式n現(xiàn)在由于 PC 機(jī)的功能越來(lái)越強(qiáng),用戶已較少使用 TELNET 了。nTELNET 也使用客戶服務(wù)器方式。在本地系統(tǒng)運(yùn)行 TELNET 客戶進(jìn)程,而在遠(yuǎn)地主機(jī)則運(yùn)行 TELNET 服務(wù)器進(jìn)程。n和 FTP 的情況相似,服務(wù)器中的主進(jìn)程等待新的請(qǐng)求,并產(chǎn)生從屬進(jìn)程來(lái)處理每一個(gè)連接。 TELNET 使用網(wǎng)絡(luò)虛擬終端 NVT 格式 因特網(wǎng)TCP 連接 客戶端 服務(wù)器端 使用客戶端的格式 使用服務(wù)器端的格式 使用 NV

22、T 格式客戶服務(wù)器網(wǎng)絡(luò)虛擬終端 NVT 格式 n客戶軟件把用戶的擊鍵和命令轉(zhuǎn)換成 NVT 格式,并送交服務(wù)器。n服務(wù)器軟件把收到的數(shù)據(jù)和命令,從 NVT 格式轉(zhuǎn)換成遠(yuǎn)地系統(tǒng)所需的格式。n向用戶返回?cái)?shù)據(jù)時(shí),服務(wù)器把遠(yuǎn)地系統(tǒng)的格式轉(zhuǎn)換為 NVT 格式,本地客戶再?gòu)?NVT 格式轉(zhuǎn)換到本地系統(tǒng)所需的格式。 6.4 萬(wàn)維網(wǎng) WWW6.4.1 萬(wàn)維網(wǎng)概述n萬(wàn)維網(wǎng) WWW (World Wide Web)并非某種特殊的計(jì)算機(jī)網(wǎng)絡(luò)。n萬(wàn)維網(wǎng)是一個(gè)大規(guī)模的、聯(lián)機(jī)式的信息儲(chǔ)藏所。n萬(wàn)維網(wǎng)用鏈接的方法能非常方便地從因特網(wǎng)上的一個(gè)站點(diǎn)訪問另一個(gè)站點(diǎn),從而主動(dòng)地按需獲取豐富的信息。n這種訪問方式稱為“鏈接”。萬(wàn)維網(wǎng)提

23、供分布式服務(wù) 萬(wàn)維網(wǎng)站點(diǎn) A萬(wàn)維網(wǎng)站點(diǎn) C萬(wàn)維網(wǎng)站點(diǎn) E萬(wàn)維網(wǎng)站點(diǎn) D萬(wàn)維網(wǎng)站點(diǎn) B鏈接到鏈接到鏈接到鏈接到鏈接到鏈接到超媒體與超文本n萬(wàn)維網(wǎng)是分布式超媒體(hypermedia)系統(tǒng),它是超文本(hypertext)系統(tǒng)的擴(kuò)充。n一個(gè)超文本由多個(gè)信息源鏈接成。利用一個(gè)鏈接可使用戶找到另一個(gè)文檔。這些文檔可以位于世界上任何一個(gè)接在因特網(wǎng)上的超文本系統(tǒng)中。超文本是萬(wàn)維網(wǎng)的基礎(chǔ)。n超媒體與超文本的區(qū)別是文檔內(nèi)容不同。超文本文檔僅包含文本信息,而超媒體文檔還包含其他表示方式的信息,如圖形、圖像、聲音、動(dòng)畫,甚至活動(dòng)視頻圖像。 萬(wàn)維網(wǎng)的工作方式 n萬(wàn)維網(wǎng)以客戶服務(wù)器方式工作。n瀏覽器就是在用戶計(jì)算機(jī)上

24、的萬(wàn)維網(wǎng)客戶程序。萬(wàn)維網(wǎng)文檔所駐留的計(jì)算機(jī)則運(yùn)行服務(wù)器程序,因此這個(gè)計(jì)算機(jī)也稱為萬(wàn)維網(wǎng)服務(wù)器。n客戶程序向服務(wù)器程序發(fā)出請(qǐng)求,服務(wù)器程序向客戶程序送回客戶所要的萬(wàn)維網(wǎng)文檔。n在一個(gè)客戶程序主窗口上顯示出的萬(wàn)維網(wǎng)文檔稱為頁(yè)面(page)。萬(wàn)維網(wǎng)必須解決的問題 (1) 怎樣標(biāo)志分布在整個(gè)因特網(wǎng)上的萬(wàn)維網(wǎng)文檔? n使用統(tǒng)一資源定位符 URL (Uniform Resource Locator)來(lái)標(biāo)志萬(wàn)維網(wǎng)上的各種文檔。n使每一個(gè)文檔在整個(gè)因特網(wǎng)的范圍內(nèi)具有唯一的標(biāo)識(shí)符 URL。 萬(wàn)維網(wǎng)必須解決的問題 (2) 用何協(xié)議實(shí)現(xiàn)萬(wàn)維網(wǎng)上各種超鏈的鏈接? n在萬(wàn)維網(wǎng)客戶程序與萬(wàn)維網(wǎng)服務(wù)器程序之間進(jìn)行交互所使用

25、的協(xié)議,是超文本傳送協(xié)議 HTTP (HyperText Transfer Protocol)。nHTTP 是一個(gè)應(yīng)用層協(xié)議,它使用 TCP 連接進(jìn)行可靠的傳送。 萬(wàn)維網(wǎng)必須解決的問題 (3) 怎樣使各種萬(wàn)維網(wǎng)文檔都能在因特網(wǎng)上的各種計(jì)算機(jī)上顯示出來(lái),同時(shí)使用戶清楚地知道在什么地方存在著超鏈? n超文本標(biāo)記語(yǔ)言 HTML (HyperText Markup Language)使得萬(wàn)維網(wǎng)頁(yè)面的設(shè)計(jì)者可以很方便地用一個(gè)超鏈從本頁(yè)面的某處鏈接到因特網(wǎng)上的任何一個(gè)萬(wàn)維網(wǎng)頁(yè)面,并且能夠在自己的計(jì)算機(jī)屏幕上將這些頁(yè)面顯示出來(lái)。 萬(wàn)維網(wǎng)必須解決的問題 (4) 怎樣使用戶能夠很方便地找到所需的信息? n為了在

26、萬(wàn)維網(wǎng)上方便地查找信息,用戶可使用各種的搜索工具(即搜索引擎)。 6.4.2 統(tǒng)一資源定位符 URL1. URL的格式n統(tǒng)一資源定位符 URL 是對(duì)可以從因特網(wǎng)上得到的資源的位置和訪問方法的一種簡(jiǎn)潔的表示。nURL 給資源的位置提供一種抽象的識(shí)別方法,并用這種方法給資源定位。n只要能夠?qū)Y源定位,系統(tǒng)就可以對(duì)資源進(jìn)行各種操作,如存取、更新、替換和查找其屬性。nURL 相當(dāng)于一個(gè)文件名在網(wǎng)絡(luò)范圍的擴(kuò)展。因此 URL 是與因特網(wǎng)相連的機(jī)器上的任何可訪問對(duì)象的一個(gè)指針。 URL 的一般形式 n由以冒號(hào)隔開的兩大部分組成,并且在 URL 中的字符對(duì)大寫或小寫沒有要求。nURL 的一般形式是::/:/

27、ftp 文件傳送協(xié)議 FTPhttp 超文本傳送協(xié)議 HTTPNews USENET 新聞URL 的一般形式(續(xù)) n由以冒號(hào)隔開的兩大部分組成,并且在 URL 中的字符對(duì)大寫或小寫沒有要求。nURL 的一般形式是::/:/ 是存放資源的主機(jī)在因特網(wǎng)中的域名URL 的一般形式(續(xù)) n由以冒號(hào)隔開的兩大部分組成,并且在 URL 中的字符對(duì)大寫或小寫沒有要求。nURL 的一般形式是::/:/有時(shí)可省略使用 HTTP 的 URLn使用 HTTP 的 URL 的一般形式 http:/:/ 這表示使用 HTTP 協(xié)議使用 HTTP 的 URLn使用 HTTP 的 URL 的一般形式 http:/:/

28、冒號(hào)和兩個(gè)斜線是規(guī)定的格式使用 HTTP 的 URLn使用 HTTP 的 URL 的一般形式 http:/:/ 這里寫主機(jī)的域名使用 HTTP 的 URLn使用 HTTP 的 URL 的一般形式 http:/:/ HTTP 的默認(rèn)端口號(hào)是 80,通??墒÷允褂?HTTP 的 URLn使用 HTTP 的 URL 的一般形式 http:/:/ 若再省略文件的項(xiàng),則 URL 就指到因特網(wǎng)上的某個(gè)主頁(yè)(home page)。 6.4.3 超文本傳送協(xié)議 HTTP1. HTTP 的操作過程 n為了使超文本的鏈接能夠高效率地完成,需要用 HTTP 協(xié)議來(lái)傳送一切必須的信息。n從層次的角度看,HTTP 是面

29、向事務(wù)的(transaction-oriented)應(yīng)用層協(xié)議,它是萬(wàn)維網(wǎng)上能夠可靠地交換文件(包括文本、聲音、圖像等各種多媒體文件)的重要基礎(chǔ)。 萬(wàn)維網(wǎng)的工作過程 因特網(wǎng)服務(wù)器鏈接到URL的超鏈HTTP 使用此 TCP 連接瀏覽器 程序服務(wù)器 程序HTTP客戶清華大學(xué)院系設(shè)置建立 TCP 連接釋放 TCP 連接HTTP 響應(yīng)報(bào)文 響應(yīng)文檔HTTP 請(qǐng)求報(bào)文 請(qǐng)求文檔用戶點(diǎn)擊鼠標(biāo)后所發(fā)生的事件 (1) 瀏覽器分析超鏈指向頁(yè)面的 URL。(2) 瀏覽器向 DNS 請(qǐng)求解析 的 IP 地址。(3) 域名系統(tǒng) DNS 解析出清華大學(xué)服務(wù)器的 IP 地址。(4) 瀏覽器與服務(wù)器建立 TCP 連接(5)

30、 瀏覽器發(fā)出取文件命令: GET /chn/yxsz/index.htm。(6) 服務(wù)器給出響應(yīng),把文件 index.htm 發(fā)給瀏覽器。(7) TCP 連接釋放。(8) 瀏覽器顯示“清華大學(xué)院系設(shè)置”文件 index.htm 中的所有文本。HTTP 的主要特點(diǎn) nHTTP 是面向事務(wù)的客戶服務(wù)器協(xié)議。nHTTP 1.0 協(xié)議是無(wú)狀態(tài)的(stateless)。nHTTP 協(xié)議本身也是無(wú)連接的,雖然它使用了面向連接的 TCP 向上提供的服務(wù)。RTTRTT請(qǐng)求一個(gè)萬(wàn)維網(wǎng)文檔所需的時(shí)間 萬(wàn)維網(wǎng)服務(wù)器萬(wàn)維網(wǎng)客戶發(fā)起 TCP 連接HTTP 請(qǐng)求報(bào)文傳輸文檔的時(shí)間整個(gè)文檔收到時(shí)間時(shí)間HTTP 響應(yīng)報(bào)文持續(xù)

31、連接(persistent connection)nHTTP/1.1 協(xié)議使用持續(xù)連接。n萬(wàn)維網(wǎng)服務(wù)器在發(fā)送響應(yīng)后仍然在一段時(shí)間內(nèi)保持這條連接,使同一個(gè)客戶(瀏覽器)和該服務(wù)器可以繼續(xù)在這條連接上傳送后續(xù)的 HTTP 請(qǐng)求報(bào)文和響應(yīng)報(bào)文。n這并不局限于傳送同一個(gè)頁(yè)面上鏈接的文檔,而是只要這些文檔都在同一個(gè)服務(wù)器上就行。n目前一些流行的瀏覽器(例如,IE 6.0)的默認(rèn)設(shè)置就是使用 HTTP/1.1。持續(xù)連接的兩種工作方式n非流水線方式:客戶在收到前一個(gè)響應(yīng)后才能發(fā)出下一個(gè)請(qǐng)求。這比非持續(xù)連接的兩倍 RTT 的開銷節(jié)省了建立 TCP 連接所需的一個(gè) RTT 時(shí)間。但服務(wù)器在發(fā)送完一個(gè)對(duì)象后,其

32、TCP 連接就處于空閑狀態(tài),浪費(fèi)了服務(wù)器資源。n流水線方式:客戶在收到 HTTP 的響應(yīng)報(bào)文之前就能夠接著發(fā)送新的請(qǐng)求報(bào)文。一個(gè)接一個(gè)的請(qǐng)求報(bào)文到達(dá)服務(wù)器后,服務(wù)器就可連續(xù)發(fā)回響應(yīng)報(bào)文。使用流水線方式時(shí),客戶訪問所有的對(duì)象只需花費(fèi)一個(gè) RTT時(shí)間,使 TCP 連接中的空閑時(shí)間減少,提高了下載文檔效率。 代理服務(wù)器(proxy server) n代理服務(wù)器(proxy server)又稱為萬(wàn)維網(wǎng)高速緩存(Web cache),它代表瀏覽器發(fā)出 HTTP 請(qǐng)求。n萬(wàn)維網(wǎng)高速緩存把最近的一些請(qǐng)求和響應(yīng)暫存在本地磁盤中。n當(dāng)與暫時(shí)存放的請(qǐng)求相同的新請(qǐng)求到達(dá)時(shí),萬(wàn)維網(wǎng)高速緩存就把暫存的響應(yīng)發(fā)送出去,而不

33、需要按 URL 的地址再去因特網(wǎng)訪問該資源。 使用高速緩存可減少訪問因特網(wǎng)服務(wù)器的時(shí)延 校園網(wǎng)源點(diǎn)服務(wù)器2 Mb/s因特網(wǎng)瀏覽器R1R2這條鏈路上的時(shí)延很大沒有使用高速緩存的情況所有萬(wàn)維網(wǎng)通信量都經(jīng)過這條鏈路使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務(wù)器)源點(diǎn)服務(wù)器2 Mb/s因特網(wǎng)瀏覽器R1R2(1) 瀏覽器訪問因特網(wǎng)的服務(wù)器時(shí),要先與校園網(wǎng)的高速緩存建立 TCP 連接,并向高速緩存發(fā)出 HTTP 請(qǐng)求報(bào)文 使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務(wù)器)源點(diǎn)服務(wù)器2 Mb/s因特網(wǎng)瀏覽器R1R2(2) 若高速緩存已經(jīng)存放了所請(qǐng)求的對(duì)象,則將此對(duì)象放入 HTTP 響應(yīng)報(bào)文中返回給

34、瀏覽器。使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務(wù)器)源點(diǎn)服務(wù)器2 Mb/s因特網(wǎng)瀏覽器R1R2(3) 否則,高速緩存就代表發(fā)出請(qǐng)求的用戶瀏覽器,與因特網(wǎng)上的源點(diǎn)服務(wù)器建立 TCP 連接,并發(fā)送 HTTP 請(qǐng)求報(bào)文。使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務(wù)器)源點(diǎn)服務(wù)器2 Mb/s因特網(wǎng)瀏覽器R1R2(4) 源點(diǎn)服務(wù)器將所請(qǐng)求的對(duì)象放在 HTTP 響應(yīng)報(bào)文中返回給校園網(wǎng)的高速緩存。使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務(wù)器)源點(diǎn)服務(wù)器2 Mb/s因特網(wǎng)瀏覽器R1R2(5) 高速緩存收到此對(duì)象后,先復(fù)制在其本地存儲(chǔ)器中(為今后使用),然后再將該對(duì)象放在 HTTP 響應(yīng)

35、報(bào)文中,通過已建立的 TCP 連接,返回給請(qǐng)求該對(duì)象的瀏覽器。3. HTTP 的報(bào)文結(jié)構(gòu) HTTP 有兩類報(bào)文:n請(qǐng)求報(bào)文從客戶向服務(wù)器發(fā)送請(qǐng)求報(bào)文。n響應(yīng)報(bào)文從服務(wù)器到客戶的回答。n由于 HTTP 是面向正文的(text-oriented),因此在報(bào)文中的每一個(gè)字段都是一些 ASCII 碼串,因而每個(gè)字段的長(zhǎng)度都是不確定的。HTTP 的報(bào)文結(jié)構(gòu)(請(qǐng)求報(bào)文) 方 法URL版 本首部字段名首部行:值首部字段名值:實(shí)體主體(通常不用)請(qǐng)求行空格回車換行:CRLFCRLFCRLFCRLF報(bào)文由三個(gè)部分組成,即開始行、首部行和實(shí)體主體。在請(qǐng)求報(bào)文中,開始行就是請(qǐng)求行。開始行HTTP 的報(bào)文結(jié)構(gòu)(請(qǐng)求報(bào)

36、文) 方 法URL版 本首部字段名首部行:值首部字段名值:實(shí)體主體(通常不用)請(qǐng)求行空格回車換行:CRLFCRLFCRLFCRLF“方法”是面向?qū)ο蠹夹g(shù)中使用的專門名詞。所謂“方法”就是對(duì)所請(qǐng)求的對(duì)象進(jìn)行的操作,因此這些方法實(shí)際上也就是一些命令。因此,請(qǐng)求報(bào)文的類型是由它所采用的方法決定的。 HTTP 請(qǐng)求報(bào)文的一些方法 方法(操作) 意義OPTION 請(qǐng)求一些選項(xiàng)的信息GET 請(qǐng)求讀取由 URL所標(biāo)志的信息HEAD 請(qǐng)求讀取由 URL所標(biāo)志的信息的首部POST 給服務(wù)器添加信息(例如,注釋)PUT 在指明的 URL下存儲(chǔ)一個(gè)文檔DELETE 刪除指明的 URL所標(biāo)志的資源TRACE 用來(lái)進(jìn)行

37、環(huán)回測(cè)試的請(qǐng)求報(bào)文CONNECT 用于代理服務(wù)器HTTP 的報(bào)文結(jié)構(gòu)(請(qǐng)求報(bào)文) 方 法URL版 本首部字段名首部行:值首部字段名值:實(shí)體主體(通常不用)請(qǐng)求行空格回車換行:CRLFCRLFCRLFCRLF“URL”是所請(qǐng)求的資源的 URL。HTTP 的報(bào)文結(jié)構(gòu)(請(qǐng)求報(bào)文) 方 法URL版 本首部字段名首部行:值首部字段名值:實(shí)體主體(通常不用)請(qǐng)求行空格回車換行:CRLFCRLFCRLFCRLF“版本”是 HTTP 的版本。HTTP 的報(bào)文結(jié)構(gòu)(響應(yīng)報(bào)文) 版 本狀態(tài)碼短 語(yǔ)首部字段名首部行:值首部字段名值:實(shí)體主體(有些響應(yīng)報(bào)文不用)狀態(tài)行空格回車換行:CRLFCRLFCRLFCRLF響應(yīng)

38、報(bào)文的開始行是狀態(tài)行。狀態(tài)行包括三項(xiàng)內(nèi)容,即 HTTP 的版本,狀態(tài)碼,以及解釋狀態(tài)碼的簡(jiǎn)單短語(yǔ)。 開始行狀態(tài)碼都是三位數(shù)字 n1xx 表示通知信息的,如請(qǐng)求收到了或正在進(jìn)行處理。n2xx 表示成功,如接受或知道了。n3xx 表示重定向,表示要完成請(qǐng)求還必須采取進(jìn)一步的行動(dòng)。n4xx 表示客戶的差錯(cuò),如請(qǐng)求中有錯(cuò)誤的語(yǔ)法或不能完成。n5xx 表示服務(wù)器的差錯(cuò),如服務(wù)器失效無(wú)法完成請(qǐng)求。4. 在服務(wù)器上存放用戶的信息n萬(wàn)維網(wǎng)站點(diǎn)使用 Cookie 來(lái)跟蹤用戶。nCookie 表示在 HTTP 服務(wù)器和客戶之間傳遞的狀態(tài)信息。n使用 Cookie 的網(wǎng)站服務(wù)器為用戶產(chǎn)生一個(gè)唯一的識(shí)別碼。利用此識(shí)別

39、碼,網(wǎng)站就能夠跟蹤該用戶在該網(wǎng)站的活動(dòng)。 6.4.4 萬(wàn)維網(wǎng)的文檔1. 超文本標(biāo)記語(yǔ)言 HTMLn超文本標(biāo)記語(yǔ)言 HTML 中的 Markup 的意思就是“設(shè)置標(biāo)記”。nHTML 定義了許多用于排版的命令(即標(biāo)簽)。nHTML 把各種標(biāo)簽嵌入到萬(wàn)維網(wǎng)的頁(yè)面中。這樣就構(gòu)成了所謂的 HTML 文檔。HTML 文檔是一種可以用任何文本編輯器創(chuàng)建的 ASCII 碼文件。 HTML 文檔 n僅當(dāng) HTML 文檔是以.html 或 .htm 為后綴時(shí),瀏覽器才對(duì)此 文檔的各種標(biāo)簽進(jìn)行解釋。n如 HTML 文檔改換以 .txt 為其后綴,則 HTML 解釋程序就不對(duì)標(biāo)簽進(jìn)行解釋,而瀏覽器只能看見原來(lái)的文本文

40、件。n當(dāng)瀏覽器從服務(wù)器讀取 HTML 文檔后,就按照 HTML 文檔中的各種標(biāo)簽,根據(jù)瀏覽器所使用的顯示器的尺寸和分辨率大小,重新進(jìn)行排版并恢復(fù)出所讀取的頁(yè)面。HTML 文檔中標(biāo)簽的用法 一個(gè) HTML 的例子 HTML 很容易掌握 這是第一個(gè)段落。雖然很 短,但它仍是一個(gè)段落。 這是第二個(gè)段落。HTML 文檔開始HTML 文檔中標(biāo)簽的用法 一個(gè) HTML 的例子 HTML 很容易掌握 這是第一個(gè)段落。雖然很 短,但它仍是一個(gè)段落。 這是第二個(gè)段落。首部開始HTML 文檔中標(biāo)簽的用法 一個(gè) HTML 的例子 HTML 很容易掌握 這是第一個(gè)段落。雖然很 短,但它仍是一個(gè)段落。 這是第二個(gè)段落。

41、標(biāo)題HTML 文檔中標(biāo)簽的用法 一個(gè) HTML 的例子 HTML 很容易掌握 這是第一個(gè)段落。雖然很 短,但它仍是一個(gè)段落。 這是第二個(gè)段落。首部結(jié)束HTML 文檔中標(biāo)簽的用法 一個(gè) HTML 的例子 HTML 很容易掌握 這是第一個(gè)段落。雖然很 短,但它仍是一個(gè)段落。 這是第二個(gè)段落。主體開始HTML 文檔中標(biāo)簽的用法 一個(gè) HTML 的例子 HTML 很容易掌握 這是第一個(gè)段落。雖然很 短,但它仍是一個(gè)段落。 這是第二個(gè)段落。1 級(jí)標(biāo)題 一個(gè) HTML 的例子 HTML 很容易掌握 這是第一個(gè)段落。雖然很 短,但它仍是一個(gè)段落。 這是第二個(gè)段落。HTML 文檔中標(biāo)簽的用法 第一個(gè)段落 一個(gè)

42、 HTML 的例子 HTML 很容易掌握 這是第一個(gè)段落。雖然很 短,但它仍是一個(gè)段落。 這是第二個(gè)段落。HTML 文檔中標(biāo)簽的用法 第二個(gè)段落HTML 文檔中標(biāo)簽的用法 一個(gè) HTML 的例子 HTML 很容易掌握 這是第一個(gè)段落。雖然很 短,但它仍是一個(gè)段落。 這是第二個(gè)段落。主體結(jié)束HTML 文檔中標(biāo)簽的用法 一個(gè) HTML 的例子 HTML 很容易掌握 這是第一個(gè)段落。雖然很 短,但它仍是一個(gè)段落。 這是第二個(gè)段落。HTML 文檔結(jié)束兩種不同的鏈接n遠(yuǎn)程鏈接:超鏈的終點(diǎn)是其他網(wǎng)點(diǎn)上的頁(yè)面。n本地鏈接:超鏈指向本計(jì)算機(jī)中的某個(gè)文件。2. 動(dòng)態(tài)萬(wàn)維網(wǎng)文檔 n靜態(tài)文檔是指該文檔創(chuàng)作完畢后就存

43、放在萬(wàn)維網(wǎng)服務(wù)器中,在被用戶瀏覽的過程中,內(nèi)容不會(huì)改變。 n動(dòng)態(tài)文檔是指文檔的內(nèi)容是在瀏覽器訪問萬(wàn)維網(wǎng)服務(wù)器時(shí)才由應(yīng)用程序動(dòng)態(tài)創(chuàng)建。n動(dòng)態(tài)文檔和靜態(tài)文檔之間的主要差別體現(xiàn)在服務(wù)器一端。這主要是文檔內(nèi)容的生成方法不同。而從瀏覽器的角度看,這兩種文檔并沒有區(qū)別。 萬(wàn)維網(wǎng)服務(wù)器功能的擴(kuò)充 (1) 應(yīng)增加另一個(gè)應(yīng)用程序,用來(lái)處理瀏覽器發(fā)來(lái)的數(shù)據(jù),并創(chuàng)建動(dòng)態(tài)文檔。(2) 應(yīng)增加一個(gè)機(jī)制,用來(lái)使萬(wàn)維網(wǎng)服務(wù)器把瀏覽器發(fā)來(lái)的數(shù)據(jù)傳送給這個(gè)應(yīng)用程序,然后萬(wàn)維網(wǎng)服務(wù)器能夠解釋這個(gè)應(yīng)用程序的輸出,并向?yàn)g覽器返回 HTML 文檔。CGI 響應(yīng)動(dòng)態(tài)文檔HTTP 響應(yīng)報(bào)文擴(kuò)充了功能的萬(wàn)維網(wǎng)服務(wù)器 萬(wàn)維網(wǎng)服務(wù)器瀏覽器 程序

44、萬(wàn)維網(wǎng)客戶服務(wù)器 程序HTTP數(shù)據(jù)庫(kù)HTTP 請(qǐng)求報(bào)文 請(qǐng)求文檔 CGI 程序創(chuàng)建動(dòng)態(tài)文檔通用網(wǎng)關(guān)接口 CGI(Common Gateway Interface) nCGI 是一種標(biāo)準(zhǔn),它定義了動(dòng)態(tài)文檔應(yīng)如何創(chuàng)建,輸入數(shù)據(jù)應(yīng)如何提供給應(yīng)用程序,以及輸出結(jié)果應(yīng)如何使用。n萬(wàn)維網(wǎng)服務(wù)器與 CGI 的通信遵循 CGI 標(biāo)準(zhǔn)。n“通用”:CGI 標(biāo)準(zhǔn)所定義的規(guī)則對(duì)其他任何語(yǔ)言都是通用的。n“網(wǎng)關(guān)”:CGI 程序的作用像網(wǎng)關(guān)。n“接口”:有一些已定義好的變量和調(diào)用等可供其他 CGI 程序使用。 CGI 程序nCGI 程序的正式名字是 CGI 腳本(script)。n“腳本”指的是一個(gè)程序,它被另一個(gè)程序

45、(解釋程序)而不是計(jì)算機(jī)的處理機(jī)來(lái)解釋或執(zhí)行。n腳本運(yùn)行起來(lái)要比一般的編譯程序要慢,因?yàn)樗拿恳粭l指令先要被另一個(gè)程序來(lái)處理(這就要一些附加的指令),而不是直接被指令處理器來(lái)處理。 3. 活動(dòng)萬(wàn)維網(wǎng)文檔n活動(dòng)文檔(active document)技術(shù)把所有的工作都轉(zhuǎn)移給瀏覽器端。n每當(dāng)瀏覽器請(qǐng)求一個(gè)活動(dòng)文檔時(shí),服務(wù)器就返回一段程序副本在瀏覽器端運(yùn)行。n活動(dòng)文檔程序可與用戶直接交互,并可連續(xù)地改變屏幕的顯示。n由于活動(dòng)文檔技術(shù)不需要服務(wù)器的連續(xù)更新傳送,對(duì)網(wǎng)絡(luò)帶寬的要求也不會(huì)太高。 響應(yīng)程序HTTP 響應(yīng)報(bào)文程序活動(dòng)文檔在客戶端創(chuàng)建 萬(wàn)維網(wǎng)服務(wù)器瀏覽器 程序萬(wàn)維網(wǎng)客戶服務(wù)器 程序HTTPHTTP

46、 請(qǐng)求報(bào)文 請(qǐng)求文檔程序事先被編譯成二進(jìn)制代碼,存放為文件程序 此程序在客戶端創(chuàng)建出活動(dòng)文檔文檔用 Java 技術(shù)創(chuàng)建活動(dòng)文檔 n由美國(guó) Sun 公司開發(fā)的 Java 語(yǔ)言是一項(xiàng)用于創(chuàng)建和運(yùn)行活動(dòng)文檔的技術(shù)。n在 Java 技術(shù)中使用 “小應(yīng)用程序”(applet)來(lái)描述活動(dòng)文檔程序。n用戶從萬(wàn)維網(wǎng)服務(wù)器下載嵌入了 Java 小應(yīng)用程序的 HTML 文檔后,可在瀏覽器的屏幕上點(diǎn)擊某個(gè)圖像,就可看到動(dòng)畫效果,或在下拉式菜單中點(diǎn)擊某個(gè)項(xiàng)目,就可看到計(jì)算結(jié)果。nJava 技術(shù)是活動(dòng)文檔技術(shù)的一部分。 Java 技術(shù)裝三個(gè)主要組成部分 (1) 程序設(shè)計(jì)語(yǔ)言。Java 包含一個(gè)新的程序設(shè)計(jì)語(yǔ)言,用來(lái)編寫

47、傳統(tǒng)的計(jì)算機(jī)程序和 Java 小應(yīng)用程序。(2) 運(yùn)行(runtime)環(huán)境。這是運(yùn)行 Java 程序所必須的運(yùn)行環(huán)境,其中包括 Java 虛擬機(jī)(簡(jiǎn)稱為 JVM),該軟件定義了 Java 二進(jìn)制代碼的執(zhí)行模型。(3) 類庫(kù)(class library)。為了更容易編寫 Java 小應(yīng)用程序,Java 提供了強(qiáng)大的類庫(kù)支持。 JavanJava 是一種面向?qū)ο蟮母呒?jí)語(yǔ)言,從 C+ 派生出來(lái)的,它省略了 C+ 很多復(fù)雜的、很少用的語(yǔ)言特點(diǎn)。nJava 的每一個(gè)數(shù)據(jù)項(xiàng)都有一個(gè)確定的類型。對(duì)數(shù)據(jù)的操作嚴(yán)格按照該數(shù)據(jù)的類型來(lái)進(jìn)行。nJava 的編譯程序?qū)⒃闯绦蜣D(zhuǎn)換成 Java 字節(jié)碼(bytecode

48、),這是一種與機(jī)器無(wú)關(guān)的二進(jìn)制代碼。計(jì)算機(jī)程序調(diào)用解釋程序讀取字節(jié)碼,并解釋執(zhí)行。 計(jì)算機(jī)硬件無(wú)關(guān)nJava 語(yǔ)言、字節(jié)碼以及 Java 運(yùn)行系統(tǒng)都被設(shè)計(jì)成與計(jì)算機(jī)硬件無(wú)關(guān)。一旦形成了字節(jié)碼,就可在任何計(jì)算機(jī)上運(yùn)行并產(chǎn)生相同的輸出。nJava 小應(yīng)用程序與機(jī)器無(wú)關(guān)可使在任何計(jì)算機(jī)上運(yùn)行的瀏覽器程序能夠下載并運(yùn)行活動(dòng)文檔。n可保證活動(dòng)文檔在所有的瀏覽器上產(chǎn)生同樣的正確輸出。n可大大地降低活動(dòng)文檔的創(chuàng)建和測(cè)試費(fèi)用,因?yàn)椴槐貫槊恳环N計(jì)算機(jī)都制作一個(gè)副本。Java 解釋程序 n運(yùn)行 Java 的瀏覽器需要有 HTML 解釋程序和 Java 小應(yīng)用程序解釋程序。n解釋程序的核心是一個(gè)模仿計(jì)算機(jī)的簡(jiǎn)單循環(huán)

49、。n解釋程序維持一個(gè)指令指針,在初始化時(shí)指在小應(yīng)用程序的開始處。n在每一次循環(huán)操作時(shí),解釋程序在指令指針指向的地址讀取字節(jié)碼。然后解釋程序?qū)ψ止?jié)碼進(jìn)行解碼,并完成指明的操作。 4. 瀏覽器的結(jié)構(gòu)與遠(yuǎn)地服務(wù)器通信輸出至顯示器從鼠標(biāo)和鍵盤輸入網(wǎng) 絡(luò) 接 口可選客戶程序HTML解釋程序可選解釋程序控 制 程 序驅(qū)動(dòng)程序HTTP 客戶程序緩 存瀏覽器的主要組成部分 n瀏覽器有一組客戶、一組解釋程序,以及管理這些客戶和解釋程序的控制程序。n控制程序是其中的核心部件,它解釋鼠標(biāo)的點(diǎn)擊和鍵盤的輸入,并調(diào)用有關(guān)的組件來(lái)執(zhí)行用戶指定的操作。n例如,當(dāng)用戶用鼠標(biāo)點(diǎn)擊一個(gè)超鏈的起點(diǎn)時(shí),控制程序就調(diào)用一個(gè)客戶從所需文

50、檔所在的遠(yuǎn)地服務(wù)器上取回該文檔,并調(diào)用解釋程序向用戶顯示該文檔。 解釋程序 nHTML 解釋程序是必不可少的,而其他的解釋程序則是可選的。 n解釋程序把 HTML 規(guī)格轉(zhuǎn)換為適合用戶顯示硬件的命令來(lái)處理版面的細(xì)節(jié)。 n許多瀏覽器還包含 FTP 客戶程序,用來(lái)獲取文件傳送服務(wù)。n一些瀏覽器也包含電子郵件客戶程序,使瀏覽器能夠發(fā)送和接收電子郵件。瀏覽器中的緩存 n瀏覽器將它取回的每一個(gè)頁(yè)面副本都放入本地磁盤的緩存中。n當(dāng)用戶用鼠標(biāo)點(diǎn)擊某個(gè)選項(xiàng)時(shí),瀏覽器首先檢查磁盤的緩存。若緩存中保存了該項(xiàng),瀏覽器就直接從緩存中得到該項(xiàng)副本而不必從網(wǎng)絡(luò)獲取,這樣就明顯地改善瀏覽器的運(yùn)行特性。 。n但緩存要占用磁盤大

51、量的空間,而瀏覽器性能的改善只有在用戶再次查看緩存中的頁(yè)面時(shí)才有幫助。n許多瀏覽器允許用戶調(diào)整緩存策略。 6.4.5 萬(wàn)維網(wǎng)的信息檢索系統(tǒng)1. 全文檢索搜索和分類目錄搜索n在萬(wàn)維網(wǎng)中用來(lái)進(jìn)行搜索的程序叫做搜索引擎。n全文檢索搜索引擎是一種純技術(shù)型的檢索工具。它的工作原理是通過搜索軟件到因特網(wǎng)上的各網(wǎng)站收集信息,找到一個(gè)網(wǎng)站后可以從這個(gè)網(wǎng)站再鏈接到另一個(gè)網(wǎng)站。然后按照一定的規(guī)則建立一個(gè)很大的在線數(shù)據(jù)庫(kù)供用戶查詢。n用戶在查詢時(shí)只要輸入關(guān)鍵詞,就從已經(jīng)建立的索引數(shù)據(jù)庫(kù)上進(jìn)行查詢(并不是實(shí)時(shí)地在因特網(wǎng)上檢索到的信息)。 分類目錄搜索 n分類目錄搜索引擎并不采集網(wǎng)站的任何信息,而是利用各網(wǎng)站向搜索引擎

52、提交的網(wǎng)站信息時(shí)填寫的關(guān)鍵詞和網(wǎng)站描述等信息,經(jīng)過人工審核編輯后,如果認(rèn)為符合網(wǎng)站登錄的條件,則輸入到分類目錄的數(shù)據(jù)庫(kù)中,供網(wǎng)上用戶查詢。n分類目錄搜索也叫做分類網(wǎng)站搜索。 一些著名的搜索引擎 n最著名的全文檢索搜索引擎:nGoogle(谷歌)() n百度 () n最著名的分類目錄搜索引擎:n雅虎 ()n雅虎中國(guó) ()n新浪 ()n搜狐 ()n網(wǎng)易 () 垂直搜索引擎(Vertical Search Engine) n針對(duì)某一特定領(lǐng)域、特定人群或某一特定需求提供搜索服務(wù)。垂直搜索也是提供關(guān)鍵字來(lái)進(jìn)行搜索的,但被放到了一個(gè)行業(yè)知識(shí)的上下文中,返回的結(jié)果更傾向于信息、消息、條目等。 6.5 電子郵

53、件6.5.1 概述n電子郵件(e-mail)是因特網(wǎng)上使用得最多的和最受用戶歡迎的一種應(yīng)用。n電子郵件把郵件發(fā)送到收件人使用的郵件服務(wù)器,并放在其中的收件人郵箱中,收件人可隨時(shí)上網(wǎng)到自己使用的郵件服務(wù)器進(jìn)行讀取。n電子郵件不僅使用方便,而且還具有傳遞迅速和費(fèi)用低廉的優(yōu)點(diǎn)。n現(xiàn)在電子郵件不僅可傳送文字信息,而且還可附上聲音和圖像。電子郵件的一些標(biāo)準(zhǔn)n發(fā)送郵件的協(xié)議:SMTPn讀取郵件的協(xié)議:POP3 和 IMAPnMIME 在其郵件首部中說明了郵件的數(shù)據(jù)類型(如文本、聲音、圖像、視像等),使用 MIME 可在郵件中同時(shí)傳送多種類型的數(shù)據(jù)。 電子郵件的最主要的組成構(gòu)件 發(fā)送方郵件緩存 接收端郵件服

54、務(wù)器用戶代理SMTPSMTPPOP3 發(fā)送端郵件服務(wù)器用戶代理用戶郵箱接收方(發(fā)送郵件)(發(fā)送郵件)(讀取郵件)因特網(wǎng)SMTPPOP3發(fā)送郵件發(fā)送郵件 SMTP讀取郵件TCP連接TCP連接發(fā)送方郵件服務(wù)器SMTP客戶POP3客戶發(fā)件人用戶代理接收方郵件服務(wù)器SMTP服務(wù)器POP3服務(wù)器SMTP服務(wù)器SMTP客戶收件人用戶代理TCP 連接用戶代理 UA (User Agent)n用戶代理 UA 就是用戶與電子郵件系統(tǒng)的接口,是電子郵件客戶端軟件。n用戶代理的功能:撰寫、顯示、處理和通信。n郵件服務(wù)器的功能是發(fā)送和接收郵件,同時(shí)還要向發(fā)信人報(bào)告郵件傳送的情況(已交付、被拒絕、丟失等)。n郵件服務(wù)器

55、按照客戶服務(wù)器方式工作。郵件服務(wù)器需要使用發(fā)送和讀取兩個(gè)不同的協(xié)議。應(yīng)當(dāng)注意n一個(gè)郵件服務(wù)器既可以作為客戶,也可以作為服務(wù)器。n例如,當(dāng)郵件服務(wù)器 A 向另一個(gè)郵件服務(wù)器 B 發(fā)送郵件時(shí),郵件服務(wù)器 A 就作為 SMTP 客戶,而 B 是 SMTP 服務(wù)器。n當(dāng)郵件服務(wù)器 A 從另一個(gè)郵件服務(wù)器 B 接收郵件時(shí),郵件服務(wù)器 A 就作為 SMTP 服務(wù)器,而 B 是 SMTP 客戶。發(fā)送和接收電子郵件的幾個(gè)重要步驟 發(fā)件人調(diào)用 PC 機(jī)中的用戶代理撰寫和編輯要發(fā)送的郵件。 發(fā)件人的用戶代理把郵件用 SMTP 協(xié)議發(fā)給發(fā)送方郵件服務(wù)器, SMTP 服務(wù)器把郵件臨時(shí)存放在郵件緩存隊(duì)列中,等待發(fā)送。

56、發(fā)送方郵件服務(wù)器的 SMTP 客戶與接收方郵件服務(wù)器的 SMTP 服務(wù)器建立 TCP 連接,然后就把郵件緩存隊(duì)列中的郵件依次發(fā)送出去。 發(fā)送和接收電子郵件的幾個(gè)重要步驟(續(xù)) 運(yùn)行在接收方郵件服務(wù)器中的SMTP服務(wù)器進(jìn) 程收到郵件后,把郵件放入收件人的用戶郵箱中,等待收件人進(jìn)行讀取。 收件人在打算收信時(shí),就運(yùn)行 PC 機(jī)中的用戶代理,使用 POP3(或 IMAP)協(xié)議讀取發(fā)送給自己的郵件。n請(qǐng)注意,POP3 服務(wù)器和 POP3 客戶之間的通信是由 POP3 客戶發(fā)起的。 電子郵件的組成n電子郵件由信封(envelope)和內(nèi)容(content)兩部分組成。n電子郵件的傳輸程序根據(jù)郵件信封上的信

57、息來(lái)傳送郵件。用戶在從自己的郵箱中讀取郵件時(shí)才能見到郵件的內(nèi)容。n在郵件的信封上,最重要的就是收件人的地址。 電子郵件地址的格式nTCP/IP 體系的電子郵件系統(tǒng)規(guī)定電子郵件地址的格式如下: 收件人郵箱名郵箱所在主機(jī)的域名 (6-1)n符號(hào)“”讀作“at”,表示“在”的意思。 n 例如,電子郵件地址 郵箱所在的主機(jī)的域名在全世界必須是唯一的 這個(gè)用戶名在該域名的范圍內(nèi)是唯一的。 6.5.2 簡(jiǎn)單郵件傳送協(xié)議 SMTP nSMTP 所規(guī)定的就是在兩個(gè)相互通信的 SMTP 進(jìn)程之間應(yīng)如何交換信息。n由于 SMTP 使用客戶服務(wù)器方式,因此負(fù)責(zé)發(fā)送郵件的 SMTP 進(jìn)程就是 SMTP 客戶,而負(fù)責(zé)接

58、收郵件的 SMTP 進(jìn)程就是 SMTP 服務(wù)器。nSMTP 規(guī)定了 14 條命令和 21 種應(yīng)答信息。每條命令用 4 個(gè)字母組成,而每一種應(yīng)答信息一般只有一行信息,由一個(gè) 3 位數(shù)字的代碼開始,后面附上(也可不附上)很簡(jiǎn)單的文字說明。 SMTP 通信的三個(gè)階段 1. 連接建立:連接是在發(fā)送主機(jī)的 SMTP 客戶和接收主機(jī)的 SMTP 服務(wù)器之間建立的。SMTP不使用中間的郵件服務(wù)器。 2. 郵件傳送3. 連接釋放:郵件發(fā)送完畢后,SMTP 應(yīng)釋放 TCP 連接。 6.5.3 電子郵件的信息格式 n一個(gè)電子郵件分為信封和內(nèi)容兩大部分。nRFC 822 只規(guī)定了郵件內(nèi)容中的首部(header)格式

59、,而對(duì)郵件的主體(body)部分則讓用戶自由撰寫。n用戶寫好首部后,郵件系統(tǒng)將自動(dòng)地將信封所需的信息提取出來(lái)并寫在信封上。所以用戶不需要填寫電子郵件信封上的信息。n郵件內(nèi)容首部包括一些關(guān)鍵字,后面加上冒號(hào)。最重要的關(guān)鍵字是:To 和 Subject。 郵件內(nèi)容的首部 n“To:”后面填入一個(gè)或多個(gè)收件人的電子郵件地址。用戶只需打開地址簿,點(diǎn)擊收件人名字,收件人的電子郵件地址就會(huì)自動(dòng)地填入到合適的位置上。n “Subject:”是郵件的主題。它反映了郵件的主要內(nèi)容,便于用戶查找郵件。n抄送 “Cc:” 表示應(yīng)給某某人發(fā)送一個(gè)郵件副本。n“From” 和 “Date” 表示發(fā)信人的電子郵件地址和發(fā)信日期?!癛eply-To” 是對(duì)方回信所用的地址。 6.5.4 郵件讀取協(xié)議POP3 和 IMAPn郵局協(xié)議 POP 是一個(gè)非常簡(jiǎn)單、但功能有限的郵件讀取協(xié)議,現(xiàn)在使用的是它的第三個(gè)版本 POP3。nPOP 也使用客戶服務(wù)器的工作方式。n在接收郵件的用戶 PC 機(jī)中必須運(yùn)行 POP 客戶程序,而在用戶所連接的 ISP 的郵件服務(wù)器中則運(yùn)行 POP 服務(wù)器程序。 IMAP 協(xié)議(Internet Message Access Protocol) nIMAP 也是按客戶服務(wù)器方式工作,現(xiàn)在較新的是版本 4,即 IMAP4。n用戶在自己的 PC 機(jī)上就可以操縱 ISP 的郵件服務(wù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論