




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1第第2章章 應(yīng)用層應(yīng)用層 網(wǎng)絡(luò)應(yīng)用是計算機網(wǎng)絡(luò)的重要功能之一。網(wǎng)絡(luò)應(yīng)用是計算機網(wǎng)絡(luò)的重要功能之一。20世紀(jì)世紀(jì)80年代:年代:基于文本的電子郵件、文件傳輸、基于文本的電子郵件、文件傳輸、文本聊天等等。文本聊天等等。20世紀(jì)世紀(jì)90年代:年代:Web應(yīng)用、應(yīng)用、IP電話、視頻會議等。電話、視頻會議等。20世紀(jì)末:世紀(jì)末:即時訊息、即時訊息、 P2P對等文件共享。對等文件共享。2學(xué)習(xí)目標(biāo)和主要內(nèi)容學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo) 網(wǎng)絡(luò)應(yīng)用的原理和實現(xiàn)方面的知識。網(wǎng)絡(luò)應(yīng)用的原理和實現(xiàn)方面的知識。主要內(nèi)容主要內(nèi)容應(yīng)用層概念:應(yīng)用層概念:應(yīng)用層協(xié)議、客戶機與服務(wù)器、進(jìn)程、應(yīng)用層協(xié)議、客戶機與服務(wù)器、進(jìn)程、套接字和運輸
2、層接口。套接字和運輸層接口。應(yīng)用程序:應(yīng)用程序:Web、電子郵件、域名系統(tǒng)、電子郵件、域名系統(tǒng)DNS及及P2P對等對等文件共享。文件共享。開發(fā)網(wǎng)絡(luò)應(yīng)用程序的方法:開發(fā)網(wǎng)絡(luò)應(yīng)用程序的方法:套接字套接字API編程。編程。3本章內(nèi)容2.1 應(yīng)用層協(xié)議原理應(yīng)用層協(xié)議原理2.2 Web和和HTTP2.3 FTP 2.4 電子郵件電子郵件2.5 DNS2.6 P2P 文件共享文件共享2.7 TCP的套接字的套接字 編程編程2.8 UDP的套接字的套接字 編程編程2.9 構(gòu)建一個構(gòu)建一個 Web 服務(wù)器服務(wù)器2.10 小結(jié)小結(jié)4流行的網(wǎng)絡(luò)應(yīng)用程序流行的網(wǎng)絡(luò)應(yīng)用程序rE-mailrWebr即時訊息即時訊息r遠(yuǎn)
3、程注冊遠(yuǎn)程注冊rP2P文件共享文件共享r多用戶網(wǎng)絡(luò)游戲多用戶網(wǎng)絡(luò)游戲r流式存儲視頻片段流式存儲視頻片段r因特網(wǎng)電話因特網(wǎng)電話r實時視頻會議實時視頻會議r大規(guī)模并行計算大規(guī)模并行計算編制應(yīng)用程編制應(yīng)用程序序5網(wǎng)絡(luò)應(yīng)用程序的研發(fā)要點網(wǎng)絡(luò)應(yīng)用程序的研發(fā)要點r寫出能夠分別寫出能夠分別在不同端系統(tǒng)運行在不同端系統(tǒng)運行,并通過網(wǎng)絡(luò),并通過網(wǎng)絡(luò)相互通信相互通信的程序。的程序。 如如Web應(yīng)用程序,由兩個可以相互通信的程序組成應(yīng)用程序,由兩個可以相互通信的程序組成瀏覽器程序:瀏覽器程序:運行在用戶主機上;運行在用戶主機上;Web服務(wù)器程序:服務(wù)器程序:運行在運行在Web服務(wù)器主機上。服務(wù)器主機上。r應(yīng)用程序軟
4、件只在端系統(tǒng)運行,不需在網(wǎng)絡(luò)核心設(shè)備上應(yīng)用程序軟件只在端系統(tǒng)運行,不需在網(wǎng)絡(luò)核心設(shè)備上運行。運行。m網(wǎng)絡(luò)核心設(shè)備無應(yīng)用層,只有較低層。網(wǎng)絡(luò)核心設(shè)備無應(yīng)用層,只有較低層。 如圖如圖2-1。6本節(jié)內(nèi)容2.1.1 網(wǎng)絡(luò)應(yīng)用程序體系結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)用程序體系結(jié)構(gòu)2.1.2 進(jìn)程通信進(jìn)程通信 2.1.3 應(yīng)用層協(xié)議應(yīng)用層協(xié)議 2.1.4 應(yīng)用所需要的服務(wù)應(yīng)用所需要的服務(wù)2.1.5 因特網(wǎng)運輸協(xié)議提供的服務(wù)因特網(wǎng)運輸協(xié)議提供的服務(wù)2.1.6 本書介紹的網(wǎng)絡(luò)應(yīng)用本書介紹的網(wǎng)絡(luò)應(yīng)用Web、文件傳輸、電子郵件、目錄服文件傳輸、電子郵件、目錄服務(wù)、對等文件共享等五個。務(wù)、對等文件共享等五個。72.1.1 網(wǎng)絡(luò)應(yīng)用程序體
5、系結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)用程序體系結(jié)構(gòu)r應(yīng)用程序體系結(jié)構(gòu):應(yīng)用程序體系結(jié)構(gòu):規(guī)定如何在各種端系統(tǒng)上組規(guī)定如何在各種端系統(tǒng)上組織應(yīng)用程序,由研發(fā)者設(shè)計織應(yīng)用程序,由研發(fā)者設(shè)計 。r 三種類型:三種類型: 客戶機客戶機/ /服務(wù)器服務(wù)器 對等對等 (P2P) 客戶機客戶機/服務(wù)器與服務(wù)器與P2P的混合的混合81、客戶機、客戶機/服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu)服務(wù)器:服務(wù)器: m總是打開總是打開m為為多個客戶機多個客戶機請求提供服務(wù)請求提供服務(wù)m永久的永久的IPIP地址地址m可擴展為服務(wù)器場(主機群集)可擴展為服務(wù)器場(主機群集) 客戶機:客戶機:m總是打開或間歇打開總是打開或間歇打開m向服務(wù)器發(fā)出請求向服務(wù)器發(fā)
6、出請求m具有動態(tài)的具有動態(tài)的IPIP地址地址m彼此之間彼此之間不直接通信不直接通信 如如Web應(yīng)用程序:總是打開的應(yīng)用程序:總是打開的Web服務(wù)器為運行在客戶機主機上服務(wù)器為運行在客戶機主機上的瀏覽器的請求提供服務(wù)(接收客戶機請求,并發(fā)送響應(yīng)結(jié)果)。的瀏覽器的請求提供服務(wù)(接收客戶機請求,并發(fā)送響應(yīng)結(jié)果)。 服務(wù)器響應(yīng)服務(wù)器響應(yīng) 客戶請求客戶請求92、純、純P2P體系結(jié)構(gòu)體系結(jié)構(gòu)(peer-to-peer) m無(最少)打開無(最少)打開的服務(wù)器的服務(wù)器m任意端系統(tǒng)任意端系統(tǒng)(對等方)(對等方)可以可以直接通信直接通信m對等方對等方間歇地連接間歇地連接,IPIP地址地址不固定不固定m例:文件分
7、發(fā)、因特網(wǎng)電話例:文件分發(fā)、因特網(wǎng)電話等。等??蓴U展度高、難以管理可擴展度高、難以管理103、客戶機、客戶機/服務(wù)器與服務(wù)器與P2P的混合的混合rNapster:MP3文件共享應(yīng)用程序。文件共享應(yīng)用程序。 mP2P:對等方直接交換對等方直接交換MP3文件文件m服務(wù)器注冊服務(wù)器注冊/定位:定位: 對等方在中心服務(wù)器上對等方在中心服務(wù)器上注冊內(nèi)容注冊內(nèi)容 對等方查詢相同的中心服務(wù)器以對等方查詢相同的中心服務(wù)器以定位內(nèi)容定位內(nèi)容r即時訊息:即時訊息:mP2P:兩個用戶直接聊天:兩個用戶直接聊天m服務(wù)器檢測服務(wù)器檢測/定位:定位: 用戶在線時,向中心服務(wù)器用戶在線時,向中心服務(wù)器注冊其注冊其IP地址地
8、址 用戶聯(lián)系中心服務(wù)器以用戶聯(lián)系中心服務(wù)器以找到聊天伙伴的找到聊天伙伴的IP地址地址112.1.2 進(jìn)程通信進(jìn)程通信r進(jìn)程進(jìn)程 (process)(process):在主機上運行的程序。在主機上運行的程序。r進(jìn)程通信:進(jìn)程通信:同一主機中兩個進(jìn)程間的通信:同一主機中兩個進(jìn)程間的通信:由由操作系統(tǒng)操作系統(tǒng)控制;控制;不同主機中進(jìn)程間的通信:不同主機中進(jìn)程間的通信:通過網(wǎng)絡(luò)交換通過網(wǎng)絡(luò)交換報文報文進(jìn)行。進(jìn)行。 發(fā)送進(jìn)程:發(fā)送進(jìn)程:產(chǎn)生報文并向網(wǎng)絡(luò)發(fā)送;產(chǎn)生報文并向網(wǎng)絡(luò)發(fā)送; 接收進(jìn)程:接收進(jìn)程:接收報文,并回送報文。接收報文,并回送報文。如圖如圖2-1。121、客戶機和服務(wù)器進(jìn)程、客戶機和服務(wù)器進(jìn)
9、程r網(wǎng)絡(luò)應(yīng)用程序由網(wǎng)絡(luò)應(yīng)用程序由成對的進(jìn)程組成成對的進(jìn)程組成,并通過網(wǎng)絡(luò)相互發(fā),并通過網(wǎng)絡(luò)相互發(fā)送報文。如圖送報文。如圖2-1 r根據(jù)功能分別標(biāo)示為客戶機和服務(wù)器根據(jù)功能分別標(biāo)示為客戶機和服務(wù)器客戶機進(jìn)程:客戶機進(jìn)程:發(fā)起通信的進(jìn)程。發(fā)起通信的進(jìn)程。 服務(wù)器進(jìn)程:服務(wù)器進(jìn)程:等待其他進(jìn)程聯(lián)系的進(jìn)程。等待其他進(jìn)程聯(lián)系的進(jìn)程。 如如Web應(yīng)用程序中,一個客戶機瀏覽器進(jìn)程向某應(yīng)用程序中,一個客戶機瀏覽器進(jìn)程向某個個Web服務(wù)器進(jìn)程發(fā)起聯(lián)系,交換報文。服務(wù)器進(jìn)程發(fā)起聯(lián)系,交換報文。13說明:說明: P2P結(jié)構(gòu)的應(yīng)用程序也可分別看成是客戶機進(jìn)程結(jié)構(gòu)的應(yīng)用程序也可分別看成是客戶機進(jìn)程或服務(wù)器進(jìn)程?;蚍?wù)器
10、進(jìn)程。 如,對等方如,對等方A(客戶機客戶機)請求對等方)請求對等方B(服務(wù)器服務(wù)器)發(fā)送某個文件。發(fā)送某個文件。142、套接字、套接字(socket)套接字:套接字:同一臺主機內(nèi)同一臺主機內(nèi)應(yīng)用層與運輸層應(yīng)用層與運輸層之間的接口。之間的接口。 也叫應(yīng)用程序和網(wǎng)絡(luò)之間的也叫應(yīng)用程序和網(wǎng)絡(luò)之間的應(yīng)用程序應(yīng)用程序接口接口API , ,是在是在網(wǎng)絡(luò)上建立網(wǎng)絡(luò)應(yīng)用程序的網(wǎng)絡(luò)上建立網(wǎng)絡(luò)應(yīng)用程序的可編程接口可編程接口。進(jìn)程具有緩存、變量的TCP套接字套接字主機或服務(wù)器進(jìn)程具有緩存、變量的TCP套接字套接字主機或服務(wù)器因特網(wǎng)由操作系統(tǒng)控制由應(yīng)用研發(fā)者控制應(yīng)用層應(yīng)用層運輸層運輸層15進(jìn)程與套接字關(guān)系進(jìn)程與套接
11、字關(guān)系進(jìn)程類似進(jìn)程類似房子房子,套接字是進(jìn)程的,套接字是進(jìn)程的門門。進(jìn)程通過進(jìn)程通過套接字套接字在網(wǎng)絡(luò)上發(fā)送和接收報文。在網(wǎng)絡(luò)上發(fā)送和接收報文。進(jìn)程具有緩存、變量的TCP套接字套接字主機或服務(wù)器進(jìn)程具有緩存、變量的TCP套接字套接字主機或服務(wù)器因特網(wǎng)由操作系統(tǒng)控制由應(yīng)用研發(fā)者控制發(fā)送進(jìn)程:發(fā)送進(jìn)程:把報文推把報文推出門(套接字)。出門(套接字)。傳送報文:傳送報文:通過下面通過下面網(wǎng)絡(luò)把報文傳送到目網(wǎng)絡(luò)把報文傳送到目的進(jìn)程門口。的進(jìn)程門口。接收進(jìn)程:接收進(jìn)程:通過其門通過其門(套接字)接收報文(套接字)接收報文 16說明說明應(yīng)用程序開發(fā)者應(yīng)用程序開發(fā)者可以控制可以控制套接字應(yīng)用層套接字應(yīng)用層端
12、的全部;端的全部;對套接字的對套接字的運輸層端幾乎運輸層端幾乎不能控制不能控制(只能選擇運輸(只能選擇運輸層協(xié)議、設(shè)定幾個運輸層層協(xié)議、設(shè)定幾個運輸層參數(shù)等)。參數(shù)等)。應(yīng)用程序開發(fā)者選擇了一應(yīng)用程序開發(fā)者選擇了一個運輸層協(xié)議,則應(yīng)用程個運輸層協(xié)議,則應(yīng)用程序就建立在由該協(xié)議提供序就建立在由該協(xié)議提供的運輸層服務(wù)之上。如的運輸層服務(wù)之上。如TCP協(xié)議。協(xié)議。進(jìn)程具有緩存、變量的TCP套接字主機或服務(wù)器進(jìn)程具有緩存、變量的TCP套接字主機或服務(wù)器因特網(wǎng)由操作系統(tǒng)控制由操作系統(tǒng)控制由應(yīng)用研發(fā)者控制由應(yīng)用研發(fā)者控制173、進(jìn)程尋址、進(jìn)程尋址主機上的進(jìn)程可以有多個主機上的進(jìn)程可以有多個。網(wǎng)絡(luò)中有多個主
13、機網(wǎng)絡(luò)中有多個主機,每個主機上有多個進(jìn)程。,每個主機上有多個進(jìn)程。r進(jìn)程識別信息:表示進(jìn)程識別信息:表示哪臺主機上的哪一個進(jìn)程。哪臺主機上的哪一個進(jìn)程。 源主機上的進(jìn)程向目的主機上的進(jìn)程發(fā)送報文源主機上的進(jìn)程向目的主機上的進(jìn)程發(fā)送報文時,應(yīng)帶有接收進(jìn)程的識別信息(標(biāo)識)。時,應(yīng)帶有接收進(jìn)程的識別信息(標(biāo)識)。r進(jìn)程尋址:進(jìn)程尋址: 根據(jù)根據(jù)進(jìn)程識別信息進(jìn)程識別信息找到相應(yīng)進(jìn)程。找到相應(yīng)進(jìn)程。如何識別如何識別進(jìn)程?進(jìn)程?確定主機確定主機確定進(jìn)程確定進(jìn)程18進(jìn)程識別信息(兩部分)進(jìn)程識別信息(兩部分)r主機名稱或地址:主機名稱或地址:網(wǎng)絡(luò)中的哪一個主機。網(wǎng)絡(luò)中的哪一個主機。 因特網(wǎng)中,用因特網(wǎng)中,
14、用IP地址地址標(biāo)識標(biāo)識(32位,全球惟一)。位,全球惟一)。r進(jìn)程的標(biāo)識:進(jìn)程的標(biāo)識:主機中的哪一個進(jìn)程。主機中的哪一個進(jìn)程。 因特網(wǎng)中,采用因特網(wǎng)中,采用端口號端口號標(biāo)識標(biāo)識(port number)。常用的應(yīng)用程序被指派固定的端口號常用的應(yīng)用程序被指派固定的端口號(周知端口)周知端口)。 如,如,Web服務(wù)進(jìn)程服務(wù)進(jìn)程(HTTP協(xié)議協(xié)議):80 郵件服務(wù)進(jìn)程郵件服務(wù)進(jìn)程(SMTP協(xié)議協(xié)議):25創(chuàng)建一個新的網(wǎng)絡(luò)應(yīng)用程序時,必須分配一個新的端創(chuàng)建一個新的網(wǎng)絡(luò)應(yīng)用程序時,必須分配一個新的端口號。不重復(fù)??谔枴2恢貜?fù)。194、用戶代理(、用戶代理(user agent) 是用戶與網(wǎng)絡(luò)應(yīng)用程序之間
15、的接口。是用戶與網(wǎng)絡(luò)應(yīng)用程序之間的接口。如如: :WebWeb應(yīng)用的用戶代理:應(yīng)用的用戶代理:是一些瀏覽器軟件。是一些瀏覽器軟件。 一個通過套接字收發(fā)報文,并提供用戶接口的進(jìn)程。一個通過套接字收發(fā)報文,并提供用戶接口的進(jìn)程。電子郵件應(yīng)用程序用戶代理:電子郵件應(yīng)用程序用戶代理:是是“郵件閱讀器郵件閱讀器”。 允許用戶進(jìn)行郵件的撰寫和閱讀。允許用戶進(jìn)行郵件的撰寫和閱讀。202.1.3 應(yīng)用層協(xié)議應(yīng)用層協(xié)議 定義了定義了運行在不同端系統(tǒng)上的應(yīng)用程序運行在不同端系統(tǒng)上的應(yīng)用程序進(jìn)程間傳遞進(jìn)程間傳遞報文的格式和方式報文的格式和方式。r具體內(nèi)容:具體內(nèi)容: 交換的報文類型:交換的報文類型:如請求報文和響應(yīng)
16、報文;如請求報文和響應(yīng)報文;各種報文類型的語法:各種報文類型的語法:報文中的各個字段及描述;報文中的各個字段及描述;字段的語義:字段的語義:字段包含信息的含義;字段包含信息的含義;進(jìn)程何時、如何發(fā)送報文及對報文進(jìn)行響應(yīng)的規(guī)則。進(jìn)程何時、如何發(fā)送報文及對報文進(jìn)行響應(yīng)的規(guī)則。21說明說明r公共領(lǐng)域協(xié)議:公共領(lǐng)域協(xié)議:由標(biāo)準(zhǔn)文檔由標(biāo)準(zhǔn)文檔RFC定義,如定義,如HTTP。 專用層協(xié)議:專用層協(xié)議:如如P2P使用的協(xié)議。使用的協(xié)議。r應(yīng)用層協(xié)議應(yīng)用層協(xié)議是網(wǎng)絡(luò)應(yīng)用的一部分。是網(wǎng)絡(luò)應(yīng)用的一部分。 如如Web應(yīng)用,客戶機從應(yīng)用,客戶機從Web服務(wù)器獲得服務(wù)器獲得“文檔文檔”。組成:組成:HTML、Web瀏覽
17、器、瀏覽器、Web服務(wù)器程序,以及服務(wù)器程序,以及一個應(yīng)用層協(xié)議一個應(yīng)用層協(xié)議HTTP(超文本傳輸協(xié)議超文本傳輸協(xié)議)等。等。HTTP定義了在瀏覽器程序和定義了在瀏覽器程序和Web服務(wù)器程序間傳輸?shù)姆?wù)器程序間傳輸?shù)膱笪母袷胶托蛄?。報文格式和序列?其他協(xié)議:電子郵件協(xié)議其他協(xié)議:電子郵件協(xié)議SMTP等等等等222.1.4 應(yīng)用程序所需要的服務(wù)應(yīng)用程序所需要的服務(wù)q應(yīng)用程序間通信:應(yīng)用程序間通信:由由運輸協(xié)議運輸協(xié)議跨越網(wǎng)絡(luò)將發(fā)送進(jìn)程的跨越網(wǎng)絡(luò)將發(fā)送進(jìn)程的報文傳輸?shù)浇邮者M(jìn)程的門戶報文傳輸?shù)浇邮者M(jìn)程的門戶 。需要使用運輸協(xié)議所提供的服務(wù)需要使用運輸協(xié)議所提供的服務(wù)。運輸協(xié)議有多種,提供的服務(wù)不同
18、。運輸協(xié)議有多種,提供的服務(wù)不同。進(jìn)程具有緩存、變量的TCP套接字主機或服務(wù)器進(jìn)程具有緩存、變量的TCP套接字主機或服務(wù)器因特網(wǎng)由操作系統(tǒng)控制由應(yīng)用研發(fā)者控制23應(yīng)用程序需要什么樣的運輸服務(wù)?應(yīng)用程序需要什么樣的運輸服務(wù)?r可靠的數(shù)據(jù)傳輸(無數(shù)據(jù)丟失)可靠的數(shù)據(jù)傳輸(無數(shù)據(jù)丟失)數(shù)據(jù)不能丟失的應(yīng)用:數(shù)據(jù)不能丟失的應(yīng)用:如文件傳輸、金融事務(wù)等。如文件傳輸、金融事務(wù)等。能容忍數(shù)據(jù)丟失的應(yīng)用:能容忍數(shù)據(jù)丟失的應(yīng)用:如多媒體應(yīng)用。如多媒體應(yīng)用。 r帶寬(數(shù)據(jù)傳輸率)帶寬(數(shù)據(jù)傳輸率)帶寬敏感的應(yīng)用:帶寬敏感的應(yīng)用:需要特定的帶寬才能正常工作。需要特定的帶寬才能正常工作。 如,因特網(wǎng)電話、其他多媒體應(yīng)用
19、。如,因特網(wǎng)電話、其他多媒體應(yīng)用。彈性應(yīng)用:彈性應(yīng)用:使用的帶寬多或少影響不大。使用的帶寬多或少影響不大。 如電子郵件、文件傳輸以及如電子郵件、文件傳輸以及Web傳輸。傳輸。r定時(數(shù)據(jù)傳輸?shù)臅r間限制)定時(數(shù)據(jù)傳輸?shù)臅r間限制)交互式實時應(yīng)用:交互式實時應(yīng)用:對時間敏感,要求時延小。如,因特網(wǎng)對時間敏感,要求時延小。如,因特網(wǎng)電話、視頻會議以及多方游戲等。電話、視頻會議以及多方游戲等。非實時應(yīng)用:非實時應(yīng)用:時延無限制,低更好。時延無限制,低更好。 24典型應(yīng)用的運輸服務(wù)要求典型應(yīng)用的運輸服務(wù)要求應(yīng)用程序應(yīng)用程序文件傳輸文件傳輸電子郵件電子郵件Web 文檔文檔實時音頻實時音頻/視頻視頻(因特網(wǎng)
20、電話(因特網(wǎng)電話/視頻會議)視頻會議)存儲音頻存儲音頻/視頻視頻交互式游戲交互式游戲即時訊息即時訊息數(shù)據(jù)丟失數(shù)據(jù)丟失不能丟失不能丟失 不能丟失不能丟失 不能丟失不能丟失 容忍丟失容忍丟失 容忍丟失容忍丟失 容忍丟失容忍丟失 不能丟失不能丟失 帶寬帶寬彈性彈性彈性彈性彈性彈性音頻音頻: 5kbps-1Mbps視頻視頻:10kbps-5Mbps同上同上 幾幾kbps以上以上彈性彈性時間敏感時間敏感不不不不不不是是, 100 ms是是, , 幾秒幾秒是是, , 100 ms是和不是是和不是252.1.5 因特網(wǎng)運輸協(xié)議提供的服務(wù)因特網(wǎng)運輸協(xié)議提供的服務(wù)兩個運輸層協(xié)議:兩個運輸層協(xié)議:m用戶數(shù)據(jù)報協(xié)議
21、用戶數(shù)據(jù)報協(xié)議UDPm傳輸控制協(xié)議傳輸控制協(xié)議TCP 每個協(xié)議為調(diào)用它們的應(yīng)用程序提供不同的服務(wù)模型。每個協(xié)議為調(diào)用它們的應(yīng)用程序提供不同的服務(wù)模型。在創(chuàng)建一個新的因特網(wǎng)應(yīng)用時,要選擇其中一個。在創(chuàng)建一個新的因特網(wǎng)應(yīng)用時,要選擇其中一個。 261、TCP服務(wù)服務(wù)q兩個方面:兩個方面:面向連接的服務(wù):面向連接的服務(wù):可靠的傳輸服務(wù):可靠的傳輸服務(wù):27面向連接的服務(wù)面向連接的服務(wù)r劃分三階段劃分三階段建立連接(握手過程):建立連接(握手過程): 客戶機程序和服務(wù)器程序之間互相交換控制信客戶機程序和服務(wù)器程序之間互相交換控制信息,在兩個進(jìn)程的息,在兩個進(jìn)程的套接字之間建立一個套接字之間建立一個TC
22、P連接連接。傳輸報文:傳輸報文: 連接是連接是全雙工全雙工的,即連接雙方的進(jìn)程可以在此連的,即連接雙方的進(jìn)程可以在此連接上同時進(jìn)行報文收發(fā)。接上同時進(jìn)行報文收發(fā)。拆除連接:拆除連接: 應(yīng)用程序報文發(fā)送結(jié)束。應(yīng)用程序報文發(fā)送結(jié)束。28可靠的傳輸服務(wù)可靠的傳輸服務(wù)通信進(jìn)程可以通信進(jìn)程可以無差錯、按適當(dāng)順序無差錯、按適當(dāng)順序交付發(fā)送的交付發(fā)送的數(shù)據(jù)。數(shù)據(jù)。 沒有數(shù)據(jù)丟失和重復(fù)。沒有數(shù)據(jù)丟失和重復(fù)。29擁塞控制擁塞控制 當(dāng)發(fā)送方和接收方之間的網(wǎng)絡(luò)出現(xiàn)擁塞時,當(dāng)發(fā)送方和接收方之間的網(wǎng)絡(luò)出現(xiàn)擁塞時,會抑會抑制發(fā)送進(jìn)程速率。制發(fā)送進(jìn)程速率。 對整個網(wǎng)絡(luò)有益。對整個網(wǎng)絡(luò)有益。30未提供的服務(wù)未提供的服務(wù)不確保
23、最小傳輸速率:不確保最小傳輸速率:發(fā)送進(jìn)程受擁塞控制機制制約;發(fā)送進(jìn)程受擁塞控制機制制約;不提供時延保證:不提供時延保證:數(shù)據(jù)傳輸?shù)臅r間不確定。數(shù)據(jù)傳輸?shù)臅r間不確定。 TCP協(xié)議能保證交付所有的數(shù)據(jù),但并不保證這些協(xié)議能保證交付所有的數(shù)據(jù),但并不保證這些數(shù)據(jù)傳輸?shù)乃俾室约捌诖膫鬏敃r延。數(shù)據(jù)傳輸?shù)乃俾室约捌诖膫鬏敃r延。 TCP協(xié)議協(xié)議不適合實時應(yīng)用不適合實時應(yīng)用。 312、UDP服務(wù)服務(wù)提供提供最小服務(wù)模式最小服務(wù)模式運行。運行。無連接:無連接:兩個進(jìn)程通信前沒有握手過程;兩個進(jìn)程通信前沒有握手過程;不可靠數(shù)據(jù)傳輸:不可靠數(shù)據(jù)傳輸:不保證報文能夠被接收,或收到的不保證報文能夠被接收,或收到的
24、報文是亂序到達(dá)。報文是亂序到達(dá)。沒有擁塞控制機制:沒有擁塞控制機制:發(fā)送進(jìn)程可以任何速率發(fā)送數(shù)據(jù)發(fā)送進(jìn)程可以任何速率發(fā)送數(shù)據(jù)不提供時延保證:不提供時延保證:r適于實時應(yīng)用。適于實時應(yīng)用。32因特網(wǎng)應(yīng)用、應(yīng)用協(xié)議與運輸協(xié)議因特網(wǎng)應(yīng)用、應(yīng)用協(xié)議與運輸協(xié)議 應(yīng)用應(yīng)用 應(yīng)用層協(xié)議應(yīng)用層協(xié)議傳輸協(xié)議傳輸協(xié)議電子郵件電子郵件 SMTP TCP遠(yuǎn)程終端訪問遠(yuǎn)程終端訪問 Telnet TCPWeb HTTP TCP文件傳輸文件傳輸 FTP TCP遠(yuǎn)程文件服務(wù)器遠(yuǎn)程文件服務(wù)器 NFS UDP或或TCP流媒體流媒體 HTTP、RTP UDP或或TCP因特網(wǎng)電話因特網(wǎng)電話 SIP、RTP 典型用典型用UDP332.
25、2 Web應(yīng)用和應(yīng)用和HTTP協(xié)議協(xié)議產(chǎn)生于產(chǎn)生于20世紀(jì)世紀(jì)90年代初期。年代初期。改變了人們與工作環(huán)境內(nèi)外的交流方式;改變了人們與工作環(huán)境內(nèi)外的交流方式;提升因特網(wǎng)地位;提升因特網(wǎng)地位;生活和工作發(fā)生變化;生活和工作發(fā)生變化;方便、快捷得到所需要的信息(方便、快捷得到所需要的信息(按需操作按需操作););任何人在任何人在Web上發(fā)布信息;上發(fā)布信息;超鏈接和搜索引擎幫助人們?yōu)g覽超鏈接和搜索引擎幫助人們?yōu)g覽Web站點。站點。34本節(jié)內(nèi)容2.2.1 HTTP概況概況2.2.2 HTTP連接連接2.2.3 HTTP報文格式報文格式2.2.4 用戶與服務(wù)器交互:用戶與服務(wù)器交互:Cookie2.2
26、.5 HTTP內(nèi)容內(nèi)容2.2.6 Web緩存緩存 2.2.7 條件條件GET方法方法352.2.1 HTTP概況概況rHTTP(超文本傳輸協(xié)議):(超文本傳輸協(xié)議): 應(yīng)用層協(xié)議,應(yīng)用層協(xié)議,Web的核心。的核心。r包括兩部分:包括兩部分:客戶機程序客戶機程序服務(wù)器程序服務(wù)器程序 分別運行在不同的端系統(tǒng)中,通過分別運行在不同的端系統(tǒng)中,通過交換交換HTTP報文報文進(jìn)行會話。進(jìn)行會話。qHTTP協(xié)議協(xié)議定義了報文的格式以及客戶機和服務(wù)器定義了報文的格式以及客戶機和服務(wù)器交換報文的方式。交換報文的方式。 36Web常用術(shù)語常用術(shù)語rWeb頁頁(文檔文檔):由若干由若干對象對象組成。組成。 對象:對
27、象:是文件是文件。通過一個。通過一個URL地址地址來尋址。如來尋址。如HTML文件、文件、JPEG圖形文件、圖形文件、Java小程序等。小程序等。 Web頁含有頁含有一個基本的一個基本的HTML文件及幾個引用對象文件及幾個引用對象。 例如,一個例如,一個Web頁包含頁包含HTML文本和文本和5個個JPEG圖圖形文件(即有形文件(即有6個對象)。個對象)。 在基本的在基本的HTML文件中,文件中,每個對象可由每個對象可由URL來尋址。來尋址。 超文本標(biāo)記語言超文本標(biāo)記語言 統(tǒng)一資源定位符統(tǒng)一資源定位符 37Web常用術(shù)語常用術(shù)語URL:Uniform Resource Locator。統(tǒng)一資源定
28、位符統(tǒng)一資源定位符。標(biāo)識萬維網(wǎng)標(biāo)識萬維網(wǎng)WWW上的各種文檔,全網(wǎng)范圍唯一。上的各種文檔,全網(wǎng)范圍唯一。URL地址組成:地址組成: 存放對象的存放對象的服務(wù)器主機名服務(wù)器主機名和和對象的路徑名對象的路徑名。如如 http:/ www.someS / somedepartment / picture.gif 主機名主機名路徑名路徑名38Web常用術(shù)語常用術(shù)語r瀏覽器(客戶機):瀏覽器(客戶機):是是Web應(yīng)用的應(yīng)用的用戶代理用戶代理,用于顯,用于顯示所請求的示所請求的Web頁,提供導(dǎo)航功能和配置屬性。頁,提供導(dǎo)航功能和配置屬性。 實現(xiàn)了實現(xiàn)了HTTP協(xié)議的客戶機端。協(xié)議的客戶機端
29、。rWeb服務(wù)器:服務(wù)器:用于存貯用于存貯Web對象(由對象(由URL尋址)。尋址)。 實現(xiàn)實現(xiàn)HTTP協(xié)議的服務(wù)器端。協(xié)議的服務(wù)器端。 HTTP協(xié)議協(xié)議定義了定義了Web客戶機客戶機 (瀏覽器瀏覽器)如何向如何向Web站點請站點請求求Web頁,以及服務(wù)器如何將頁,以及服務(wù)器如何將Web頁傳送給客戶機。頁傳送給客戶機。39客戶機和服務(wù)器之間交互過程客戶機和服務(wù)器之間交互過程PC 運行Explorer服務(wù)器運行Apache Web服務(wù)器Mac 運行NavigatorHTTP 請求HTTP 請求HTTP 響應(yīng)HTTP 響應(yīng)r客戶機客戶機: 用戶請求一個用戶請求一個Web頁頁(如點擊一個超鏈接),瀏
30、(如點擊一個超鏈接),瀏覽器向服務(wù)器覽器向服務(wù)器發(fā)出發(fā)出對該頁所對該頁所含對象的含對象的“HTTP請求報請求報文文”。r服務(wù)器:服務(wù)器: 接受請求,回發(fā)包含請求接受請求,回發(fā)包含請求對象的對象的“HTTP響應(yīng)報文響應(yīng)報文”40說明說明rHTTP協(xié)議使用的協(xié)議使用的底層運輸協(xié)議是底層運輸協(xié)議是TCP。r工作過程:工作過程: 創(chuàng)建創(chuàng)建TCP連接連接交換報文交換報文關(guān)閉關(guān)閉TCP連接連接客戶機先與服務(wù)器客戶機先與服務(wù)器建立建立TCP連接連接,然后,瀏覽器和服,然后,瀏覽器和服務(wù)器進(jìn)程通過務(wù)器進(jìn)程通過套接字訪問套接字訪問TCP:如圖:如圖2-3客戶機:客戶機:從其套接字接口發(fā)送從其套接字接口發(fā)送“HT
31、TPHTTP請求報文請求報文”和接和接收收“響應(yīng)報文響應(yīng)報文”;服務(wù)器:服務(wù)器:從其套接字口接收從其套接字口接收“HTTPHTTP請求報文請求報文”和發(fā)送和發(fā)送“響應(yīng)報文響應(yīng)報文”。41說明說明rTCP提供可靠的數(shù)據(jù)傳輸服務(wù):提供可靠的數(shù)據(jù)傳輸服務(wù):客戶機進(jìn)程和服務(wù)器客戶機進(jìn)程和服務(wù)器進(jìn)程發(fā)出的每個進(jìn)程發(fā)出的每個HTTP報文能完整地到達(dá)對方。報文能完整地到達(dá)對方。rHTTP是是無狀態(tài)協(xié)議:無狀態(tài)協(xié)議:服務(wù)器不保存關(guān)于客戶機的任何服務(wù)器不保存關(guān)于客戶機的任何信息。信息。 Web使用客戶機使用客戶機/服務(wù)器結(jié)構(gòu),服務(wù)器結(jié)構(gòu),Web服務(wù)器總是打開,有一服務(wù)器總是打開,有一個固定個固定IP地址,為多個
32、瀏覽器服務(wù)。地址,為多個瀏覽器服務(wù)。422.2.2 HTTP連接連接持久持久HTTP連接連接一個一個TCP連接上可以傳連接上可以傳送送多個多個Web對象對象傳送多個傳送多個請求請求/相應(yīng)相應(yīng)對對非持久非持久HTTP連接連接每個每個TCP連接上只傳送連接上只傳送一個一個Web對象對象只傳送一個只傳送一個請求請求/相應(yīng)相應(yīng)對對默認(rèn)方式下使用持久連接默認(rèn)方式下使用持久連接431、非持久連接、非持久連接 例,客戶機向服務(wù)器請求傳送一個例,客戶機向服務(wù)器請求傳送一個Web頁:頁:含有含有一個基本一個基本HTML文件和文件和10個個JPEG圖形圖形,11個對象個對象位于同一個服務(wù)器上。位于同一個服務(wù)器上。
33、HTML文件的文件的URL為:為:http:/www.someS/someDepartment/home.index44工作過程1a. HTTP客戶客戶初始化一個初始化一個與服務(wù)與服務(wù)器主機器主機www.someS中中HTTP服務(wù)器進(jìn)程的服務(wù)器進(jìn)程的TCP連接連接 2. HTTP客戶發(fā)送一個客戶發(fā)送一個HTTP請請求報文求報文 (包含(包含URL)到)到TCP連接套接字,連接套接字, 報文指明客戶報文指明客戶需要的需要的Web對象對象someDepartment/home.index1b. www.someS服務(wù)器服務(wù)器主機中的主機中的HT
34、TP服務(wù)器服務(wù)器在在80端端口監(jiān)聽來自口監(jiān)聽來自HTTP客戶的客戶的TCP連接請求連接請求,收到連接請求,收到連接請求, 接接受受, 建立連接建立連接, 通知客戶。通知客戶。3. HTTP服務(wù)器接收請求報文服務(wù)器接收請求報文, 產(chǎn)產(chǎn)生一個生一個響應(yīng)報文響應(yīng)報文(包含被請(包含被請求對象)求對象), 并發(fā)送到其并發(fā)送到其TCP連連接套接字接套接字timeTCP連接連接報文傳輸報文傳輸455. HTTP客戶機接收包含客戶機接收包含HTML文件的響應(yīng)報文,文件的響應(yīng)報文,顯示并解顯示并解析析HTML文件,發(fā)現(xiàn)文件,發(fā)現(xiàn)10個引個引用的用的 jpeg對象對象6. 對對10個個jpeg對象重復(fù)步驟對象重
35、復(fù)步驟154. HTTP服務(wù)器關(guān)閉服務(wù)器關(guān)閉TCP 連接連接time46說明:說明:r每個每個TCP連接在服務(wù)器返回對象后關(guān)閉連接在服務(wù)器返回對象后關(guān)閉(非持久)(非持久)。r每個每個TCP連接連接只傳輸一個請求報文和一個響應(yīng)報文只傳輸一個請求報文和一個響應(yīng)報文; 上例中,要建立上例中,要建立11個個TCP連接。連接。r瀏覽器瀏覽器可同時打開多個可同時打開多個連接:連接:并行的并行的TCP連接:并行數(shù)大于連接:并行數(shù)大于1。默認(rèn)打開。默認(rèn)打開510個。個。串行的串行的TCP連接:最大并行數(shù)為連接:最大并行數(shù)為1。47請求一個請求一個HTML文件所需時間文件所需時間 即即從客戶機請求基本從客戶機
36、請求基本HTML文件開始,到用戶收文件開始,到用戶收到整個文件為止所花時間。到整個文件為止所花時間。r往返時延往返時延RTTRTT: 一個小分組從客戶機到服務(wù)器,再回到客戶機所一個小分組從客戶機到服務(wù)器,再回到客戶機所花時間。花時間。 包括傳播時延、排隊時延以及處理時延。包括傳播時延、排隊時延以及處理時延。48rTCP連接的連接的“三次握手三次握手”過程過程客戶機發(fā)送一個客戶機發(fā)送一個TCP連接請求連接請求報文報文 服務(wù)器回送一個服務(wù)器回送一個TCP確認(rèn)響應(yīng)確認(rèn)響應(yīng)報文報文 客戶機向服務(wù)器發(fā)送一個包含客戶機向服務(wù)器發(fā)送一個包含“ HTTP請求請求”與與“TCP確確認(rèn)認(rèn)”的報文的報文r總響應(yīng)時間
37、:總響應(yīng)時間:兩個兩個RTT時延加時延加上服務(wù)器發(fā)送文件的時間上服務(wù)器發(fā)送文件的時間 總計總計 = 2RTT+文件傳輸時間文件傳輸時間傳輸文件傳輸文件的時間的時間發(fā)起發(fā)起TCP連接連接RTT請求文件請求文件RTT接收接收文件文件時間時間三次握手三次握手建立建立TCP連接連接 交換報文交換報文49非持久連接缺點非持久連接缺點r服務(wù)器負(fù)擔(dān)重:服務(wù)器負(fù)擔(dān)重:每一個請求對象建立和維護(hù)一個新的每一個請求對象建立和維護(hù)一個新的連接。連接。r每一個對象的傳輸時延長:每一個對象的傳輸時延長:包含兩個包含兩個RTT時延,一個時延,一個用于用于TCP建立,一個用于請求和接收對象。建立,一個用于請求和接收對象。50
38、2、持久連接、持久連接q服務(wù)器在發(fā)送響應(yīng)后保持該服務(wù)器在發(fā)送響應(yīng)后保持該TCP連接:連接:相同客戶機相同客戶機與服務(wù)器之間的后續(xù)請求和響應(yīng)報文與服務(wù)器之間的后續(xù)請求和響應(yīng)報文通過通過相同的連接進(jìn)行傳送。相同的連接進(jìn)行傳送。 如,一個如,一個Web頁頁 的所有對象可以通過一個持久的所有對象可以通過一個持久TCP連接傳送。連接傳送?;蚧蛲环?wù)器上的多個同一服務(wù)器上的多個Web頁頁也可以通過一個持久也可以通過一個持久TCP連接傳送給同一個客戶機。連接傳送給同一個客戶機。r連接經(jīng)一定連接經(jīng)一定時間間隔時間間隔(超時間隔超時間隔)未被使用未被使用,服務(wù)器就,服務(wù)器就關(guān)關(guān)閉該連接。閉該連接。51持久連接
39、兩種方式持久連接兩種方式r非流水線方式:非流水線方式:客戶機只能在客戶機只能在前一個響應(yīng)接收到之后前一個響應(yīng)接收到之后才能發(fā)出新的請求。才能發(fā)出新的請求。客戶機為每一個引用對象的請求和接收都使用一個客戶機為每一個引用對象的請求和接收都使用一個RTT時延。時延。會浪費一些服務(wù)器資源:服務(wù)器在發(fā)送完一個對象,會浪費一些服務(wù)器資源:服務(wù)器在發(fā)送完一個對象,等待下一個請求時,會出現(xiàn)空閑狀態(tài)。等待下一個請求時,會出現(xiàn)空閑狀態(tài)。 52持久連接兩種方式持久連接兩種方式r流水線方式:流水線方式:客戶機可一個接一個客戶機可一個接一個連續(xù)產(chǎn)生請求連續(xù)產(chǎn)生請求(只要有引用就產(chǎn)(只要有引用就產(chǎn)生),即在前一個請求接收
40、到響應(yīng)之前可以產(chǎn)生新的生),即在前一個請求接收到響應(yīng)之前可以產(chǎn)生新的請求。請求。服務(wù)器一個接一個服務(wù)器一個接一個連續(xù)發(fā)送相應(yīng)對象連續(xù)發(fā)送相應(yīng)對象。r特點:特點:節(jié)省節(jié)省RTT時延,時延,可能所有引用對象可能所有引用對象只花費一個只花費一個。TCP連接空閑時間很短。連接空閑時間很短。r 默認(rèn)方式:默認(rèn)方式:流水線方式的持久連接。流水線方式的持久連接。531、HTTP請求報文請求報文r客戶機向服務(wù)器發(fā)送。客戶機向服務(wù)器發(fā)送。ASCII文本形式,文本形式,易讀。易讀。 例:例:GET /somedir/page.html HTTP/1.1Host: User-a
41、gent: Mozilla/4.0Connection: close Accept-language:fr (另外的回車,換行) 請求行請求行(GET, POST, HEAD命令命令)首部行首部行回車,換行指示回車,換行指示報文的結(jié)束報文的結(jié)束對象對象URL路徑名路徑名 版本版本 對象主機對象主機瀏覽器類型瀏覽器類型非持久非持久方法(命令)方法(命令)GET:請求一個對象。:請求一個對象。POST:提交表單(添加信息)。:提交表單(添加信息)。HEAD:請求返回對象響應(yīng)報文首部:請求返回對象響應(yīng)報文首部返回對象的語言返回對象的語言54HTTP請求報文通用格式請求報文通用格式請求行請求行 首部行
42、首部行 實體主體實體主體 方法方法版本版本 首部字段名首部字段名首部字段名首部字段名值值值值552、HTTP 響應(yīng)報文響應(yīng)報文HTTP/1.1 200 OK Connection closeDate: Thu, 06 Aug 1998 12:00:15 GMT 服務(wù)器服務(wù)器: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 . Content-Length: 6821 Content-Type: text/html data data data data data . 狀態(tài)行狀態(tài)行(版本、狀態(tài)碼、狀態(tài)短語)(版本、狀態(tài)碼、狀態(tài)短語)首部行
43、實體:數(shù)據(jù),如請求的HTML文件請求成功請求成功關(guān)閉連接關(guān)閉連接發(fā)送日期發(fā)送日期對象創(chuàng)建或修對象創(chuàng)建或修改日期改日期對象長度對象長度服務(wù)器到客戶機的回答服務(wù)器到客戶機的回答56HTTP響應(yīng)狀態(tài)碼200 OKm請求成功,請求的對象在這個報文后面請求成功,請求的對象在這個報文后面301 Moved Permanentlym請求的對象已轉(zhuǎn)移,新的請求的對象已轉(zhuǎn)移,新的URL在響應(yīng)報文的在響應(yīng)報文的Location:首部行中首部行中指定指定400 Bad Requestm請求報文不為服務(wù)器理解請求報文不為服務(wù)器理解404 Not Foundm請求的文檔沒有在該服務(wù)器上發(fā)現(xiàn)請求的文檔沒有在該服務(wù)器上發(fā)現(xiàn)
44、505 HTTP Version Not Supportedm服務(wù)器不支持請求報文使用的服務(wù)器不支持請求報文使用的HTTP版本版本r在服務(wù)器到客戶機響應(yīng)報文中的首行。在服務(wù)器到客戶機響應(yīng)報文中的首行。57自行試驗HTTP (客戶機側(cè))1. Telnet 到某個到某個Web服務(wù)器上:服務(wù)器上:打開到位于打開到位于的端口的端口80(默認(rèn)默認(rèn)的的HTTP服務(wù)器端口服務(wù)器端口).鍵入的任何東西將發(fā)送到位于鍵入的任何東西將發(fā)送到位于的的80端口端口telnet 802. 鍵入一個鍵入一個GET HTTP請求:請求:GET /ros
45、s/ HTTP/1.1Host: 向向HTTP服務(wù)器發(fā)服務(wù)器發(fā)送最小的送最小的GET請求請求3. 得到由得到由HTTP服務(wù)器發(fā)送的響應(yīng)報文服務(wù)器發(fā)送的響應(yīng)報文!582.2.4 用戶與服務(wù)器交互:用戶與服務(wù)器交互:Cookie HTTP服務(wù)器是服務(wù)器是無狀態(tài)無狀態(tài)的,不保存客戶信息。的,不保存客戶信息。rCookie:允許允許Web站點跟蹤、識別用戶;服務(wù)器可以站點跟蹤、識別用戶;服務(wù)器可以限制用戶訪問,或把內(nèi)容與用戶身份關(guān)聯(lián)。限制用戶訪問,或把內(nèi)容與用戶身份關(guān)聯(lián)。 許多重要的許多重要的Web站點使用站點使用cookies。r包括四個部分包括四個部分1)在在HTTP響應(yīng)報
46、文中有一個響應(yīng)報文中有一個cookie 首部行首部行2)在在HTTP請求報文中有一個請求報文中有一個cookie 首部行首部行3)用戶主機中保留有一個用戶主機中保留有一個 cookie 文件并由瀏覽器管理文件并由瀏覽器管理4) Web站點的后端數(shù)據(jù)庫保存站點的后端數(shù)據(jù)庫保存cookie59例mSusan總是從相同的總是從相同的PC訪問因特網(wǎng)訪問因特網(wǎng)m她首次訪問一個特定的電子商務(wù)站點她首次訪問一個特定的電子商務(wù)站點m當(dāng)起始當(dāng)起始HTTP請求到達(dá)站點時,站點產(chǎn)生一個獨特請求到達(dá)站點時,站點產(chǎn)生一個獨特的的ID,并為,并為ID在后端數(shù)據(jù)庫中生成一個表項在后端數(shù)據(jù)庫中生成一個表項60工作過程客戶機客
47、戶機服務(wù)器服務(wù)器普通HTTP請求報文普通HTTP響應(yīng)+Set-cookie: 1678 普通HTTP請求報文cookie: 1678普通HTTP響應(yīng)報文普通HTTP請求報文cookie: 1678普通HTTP響應(yīng)報文特定cookie動作特定cookie動作服務(wù)器為用戶生成ID 1678后端數(shù)據(jù)庫中的表項訪問訪問Cookie file識別碼識別碼 1678Cookie file保存保存1678 Cookie file識別碼識別碼 1678一個星期以后:61rCookie用途用途身份認(rèn)證身份認(rèn)證虛擬購物車虛擬購物車(跟蹤用戶購買的物品跟蹤用戶購買的物品)推薦廣告推薦廣告用戶會話狀態(tài)用戶會話狀態(tài) (
48、Web e-mail)rCookie缺陷缺陷站點可以知道用戶許多信息站點可以知道用戶許多信息不利用戶隱私保護(hù)不利用戶隱私保護(hù)622.2.5 HTTP內(nèi)容內(nèi)容傳輸傳輸Web頁面所含對象:頁面所含對象:如如HTML文件、文件、JPEG文件、文件、Java小應(yīng)用程序等等。小應(yīng)用程序等等??梢詡鬏斊渌愋偷奈募嚎梢詡鬏斊渌愋偷奈募喝鐐鬏斎鐐鬏擷ML(可擴充的標(biāo)(可擴充的標(biāo)識語言)文件。識語言)文件。P2P文件共享中:文件共享中:作為文件傳輸協(xié)議使用。作為文件傳輸協(xié)議使用。用于流式存儲的音頻和視頻。用于流式存儲的音頻和視頻。 632.2.6 Web緩存緩存rWeb緩存器緩存器(Web cache)
49、:也叫也叫代理服務(wù)器代理服務(wù)器。 能夠代表能夠代表起始服務(wù)器起始服務(wù)器來滿足來滿足HTTP請求的網(wǎng)絡(luò)實體。請求的網(wǎng)絡(luò)實體。保存最近請求過的對象的副本。保存最近請求過的對象的副本??稍诳蛻魴C或服務(wù)器工作,也可在中間系統(tǒng)工作??稍诳蛻魴C或服務(wù)器工作,也可在中間系統(tǒng)工作。r起始(原始)服務(wù)器起始(原始)服務(wù)器(origin server):對象最初存放并對象最初存放并始終保持其拷貝的服務(wù)器。始終保持其拷貝的服務(wù)器。目標(biāo)目標(biāo): 代替原始服務(wù)器滿足代替原始服務(wù)器滿足HTTP請求。請求。64使用使用Web緩存器緩存器r用戶配置瀏覽器用戶配置瀏覽器: 所有所有Web 訪問經(jīng)由緩存訪問經(jīng)由緩存r瀏覽器向緩存發(fā)
50、送所有瀏覽器向緩存發(fā)送所有HTTP請求請求m對象在緩存中:對象在緩存中:緩存緩存器返回對象器返回對象m不在:不在:緩存向原始服緩存向原始服務(wù)器發(fā)出請求,接收務(wù)器發(fā)出請求,接收對象后轉(zhuǎn)發(fā)給客戶機對象后轉(zhuǎn)發(fā)給客戶機客戶機代理服務(wù)器客戶機HTTP 請求HTTP 請求HTTP 響應(yīng)HTTP 響應(yīng)HTTP 請求HTTP 響應(yīng)起始服務(wù)器起始服務(wù)器客戶機通過客戶機通過Web緩存器請求對象。緩存器請求對象。65具體操作過程具體操作過程r瀏覽器:瀏覽器:建立一個到緩存建立一個到緩存的的TCP連接,并向緩存發(fā)連接,并向緩存發(fā)送一個對該對象送一個對該對象HTTP請求請求rWeb緩存器:緩存器:檢查本地是否檢查本地是
51、否有該對象的拷貝。有該對象的拷貝。有:有:就用就用HTTP響應(yīng)報文向響應(yīng)報文向瀏覽器轉(zhuǎn)發(fā)該對象瀏覽器轉(zhuǎn)發(fā)該對象例:假設(shè)瀏覽器請求對象例:假設(shè)瀏覽器請求對象 /campus.gif客戶機代理服務(wù)器客戶機HTTP 請求HTTP 請求HTTP 響應(yīng)HTTP 響應(yīng)HTTP 請求HTTP 響應(yīng)起始服務(wù)器起始服務(wù)器66 緩存在緩存在TCP連接上發(fā)送獲取連接上發(fā)送獲取該對象的請求。該對象的請求。 起始服務(wù)器收到請求,向緩起始服務(wù)器收到請求,向緩存發(fā)送該對象的存發(fā)送該對象的HTTP響應(yīng)響應(yīng) 緩存接收該對象,存儲一份緩存接收該對象,存儲一份在本地中,并通過在本地中
52、,并通過HTTP響響應(yīng)報文向瀏覽器轉(zhuǎn)發(fā)該對象應(yīng)報文向瀏覽器轉(zhuǎn)發(fā)該對象(通過已經(jīng)建立的(通過已經(jīng)建立的TCP連連接)。接)??蛻魴C代理服務(wù)器客戶機HTTP 請求HTTP 請求HTTP 響應(yīng)HTTP 響應(yīng)HTTP 請求HTTP 響應(yīng)起始服務(wù)器起始服務(wù)器沒有:沒有:與該對象的起始服務(wù)器打開一個與該對象的起始服務(wù)器打開一個TCP連接。連接。 客戶機客戶機 Web緩存器緩存器起始服務(wù)器起始服務(wù)器67說明說明rWeb緩存器既可以是服務(wù)器也可以是客戶機:緩存器既可以是服務(wù)器也可以是客戶機:當(dāng)它接收瀏覽器請求并發(fā)回響應(yīng)時,是當(dāng)它接收瀏覽器請求并發(fā)回響應(yīng)時,是服務(wù)器服務(wù)器;當(dāng)它向起始服務(wù)器發(fā)出請求并接收響應(yīng)時,
53、是當(dāng)它向起始服務(wù)器發(fā)出請求并接收響應(yīng)時,是客戶機客戶機68Web緩存優(yōu)點緩存優(yōu)點r減少客戶機請求的響應(yīng)時間減少客戶機請求的響應(yīng)時間: 客戶機客戶機 Web緩存器緩存器起始服務(wù)器起始服務(wù)器 高速鏈路高速鏈路 r減少機構(gòu)內(nèi)部網(wǎng)絡(luò)與因特網(wǎng)連接鏈路上的通信量:減少機構(gòu)內(nèi)部網(wǎng)絡(luò)與因特網(wǎng)連接鏈路上的通信量: 降低開銷,改善各種應(yīng)用的性能。降低開銷,改善各種應(yīng)用的性能。69例例1,無,無Web緩存緩存r包括兩個網(wǎng)絡(luò):包括兩個網(wǎng)絡(luò):機構(gòu)的內(nèi)部機構(gòu)的內(nèi)部網(wǎng)絡(luò)和因特網(wǎng)。網(wǎng)絡(luò)和因特網(wǎng)。 機構(gòu)內(nèi)部網(wǎng)絡(luò)機構(gòu)內(nèi)部網(wǎng)絡(luò):是一個高速是一個高速的局域網(wǎng)。的局域網(wǎng)。 其路由器與因特網(wǎng)上的其路由器與因特網(wǎng)上的路由器通過一條路由器通
54、過一條1.5Mbps的的鏈路連接。鏈路連接。起始服務(wù)器:起始服務(wù)器:與因特網(wǎng)相與因特網(wǎng)相連,遍布全球。連,遍布全球。起始服務(wù)器公共因特網(wǎng)公共因特網(wǎng)機構(gòu)網(wǎng)絡(luò)機構(gòu)網(wǎng)絡(luò)10 Mbps LAN1.5 Mbps 訪問鏈路70假設(shè)假設(shè)平均對象長度為平均對象長度為100kb機構(gòu)內(nèi)瀏覽器對原始服機構(gòu)內(nèi)瀏覽器對原始服務(wù)器上對象的平均請求務(wù)器上對象的平均請求率率= 15/sec機構(gòu)內(nèi)機構(gòu)內(nèi)的的HTTP報文小,報文小,忽略忽略從因特網(wǎng)路由器轉(zhuǎn)發(fā)從因特網(wǎng)路由器轉(zhuǎn)發(fā)HTTP請求報文,到收到請求報文,到收到其響應(yīng)報文的時間平均其響應(yīng)報文的時間平均2s(因特網(wǎng)時延)(因特網(wǎng)時延) 起始服務(wù)器公共因特網(wǎng)機構(gòu)網(wǎng)絡(luò)10 Mbps
55、 LAN1.5 Mbps 訪問鏈路71總的響應(yīng)時間總的響應(yīng)時間 瀏覽器從請求一個對象到接收到的時間:三部分和瀏覽器從請求一個對象到接收到的時間:三部分和局域網(wǎng)時延局域網(wǎng)時延接入鏈路時延接入鏈路時延(兩個路由器間兩個路由器間)因特網(wǎng)時延因特網(wǎng)時延起始服務(wù)器公共因特網(wǎng)機構(gòu)網(wǎng)絡(luò)10 Mbps LAN1.5 Mbps 訪問鏈路72局域網(wǎng)時延:局域網(wǎng)時延:與流量強度有關(guān)(與流量強度有關(guān)(比特到達(dá)率比特到達(dá)率/推出率推出率) (15請求請求/s)(100kb/請求請求)/(10Mbit/s)=0.15 強度為強度為0.15的通信量最多數(shù)十毫秒的時延,可的通信量最多數(shù)十毫秒的時延,可忽略忽略接入鏈路時延:與
56、接入鏈路時延:與接入流量強度接入流量強度 (路由器之間路由器之間)有關(guān)有關(guān) (15請求請求/s)(100kb/請求請求)/(1.5Mbit/s)=1 強度接近強度接近1,鏈路,鏈路時延非常大時延非常大或無限增長。或無限增長。總響應(yīng)時間總響應(yīng)時間接入鏈路時延接入鏈路時延+因特網(wǎng)時延因特網(wǎng)時延 (分鐘(分鐘 +2 sec ) 請求時間長,用戶難接受。請求時間長,用戶難接受。73改進(jìn)方法一改進(jìn)方法一增加接入鏈路的速率:增加接入鏈路的速率: 如從如從1.5Mbps增加到增加到10Mbps,使鏈路上的流量強,使鏈路上的流量強度減少到度減少到0.15,鏈路時延也可以忽略了。,鏈路時延也可以忽略了。 總響應(yīng)
57、時間總響應(yīng)時間=因特網(wǎng)時延因特網(wǎng)時延=2秒鐘秒鐘投資較大,成本昂貴。投資較大,成本昂貴。74改進(jìn)方法二改進(jìn)方法二 在機構(gòu)網(wǎng)絡(luò)中安裝在機構(gòu)網(wǎng)絡(luò)中安裝一個一個Web緩存緩存器。器。起始服務(wù)器公共因特網(wǎng)機構(gòu)網(wǎng)絡(luò)10 Mbps LAN1.5 Mbps 訪問鏈路機構(gòu)緩存器Web緩存器的命中率:緩存器的命中率:緩存緩存器滿足請求的比率器滿足請求的比率(0.20.7)。)。設(shè)命中率為設(shè)命中率為0.4。75改進(jìn)方法二改進(jìn)方法二起始服務(wù)器公共因特網(wǎng)機構(gòu)網(wǎng)絡(luò)10 Mbps LAN1.5 Mbps 訪問鏈路機構(gòu)緩存器局域網(wǎng)時延:局域網(wǎng)時延:客戶機和緩客戶機和緩存器位于同一局域網(wǎng),存器位于同一局域網(wǎng),40%的請求幾乎
58、會立即得的請求幾乎會立即得到響應(yīng),時延約到響應(yīng),時延約10ms。 剩下的剩下的60%請求需要請求需要通過訪問起始服務(wù)器才能通過訪問起始服務(wù)器才能滿足。滿足。100kb/10Mbps76接入鏈路時延:接入鏈路時延: 只有只有60%的請求對象通的請求對象通過接入鏈路傳送,流量強過接入鏈路傳送,流量強度從度從1.0減小到減小到0.6。 通常,在通常,在1.5Mbps鏈路鏈路上,當(dāng)流量強度小于上,當(dāng)流量強度小于0.8時,時延很小,可忽略。時,時延很小,可忽略。起始服務(wù)器公共因特網(wǎng)機構(gòu)網(wǎng)絡(luò)10 Mbps LAN1.5 Mbps 訪問鏈路機構(gòu)緩存器Web緩存器減少響應(yīng)時延,成本低緩存器減少響應(yīng)時延,成本低
59、 平均時延為:平均時延為: 0.4(0.01s)+0.6(0.01s+2s)=1.21s0.01s2s772.2.7 條件條件GET方法方法r高速緩存:高速緩存:減少響應(yīng)時間;減少響應(yīng)時間;存放在緩存中的對象拷貝可能是舊的存放在緩存中的對象拷貝可能是舊的。即保存在起始。即保存在起始Web服務(wù)器中的對象可能已經(jīng)被修改。服務(wù)器中的對象可能已經(jīng)被修改。r條件條件GET方法:方法:使使緩存器能夠證實其保存的對象是否為最新。緩存器能夠證實其保存的對象是否為最新。如果緩存中是最新對象版本,可繼續(xù)使用,起始如果緩存中是最新對象版本,可繼續(xù)使用,起始Web服務(wù)器就不需重新發(fā)送該對象。服務(wù)器就不需重新發(fā)送該對象
60、。78條件條件GET方法使用方法使用rWeb服務(wù)器回發(fā)服務(wù)器回發(fā)響應(yīng)報文響應(yīng)報文:包括對象的最后修改時間:包括對象的最后修改時間 Last-modified:date1r緩存檢查緩存檢查Web服務(wù)器中的該對象是否已被修改,發(fā)送服務(wù)器中的該對象是否已被修改,發(fā)送一個一個條件條件GET請求報文請求報文: If-modified-since: date1告訴服務(wù)器,僅當(dāng)告訴服務(wù)器,僅當(dāng)自指定日期之后該對象被修改過,自指定日期之后該對象被修改過,才發(fā)送該對象。才發(fā)送該對象。若若Web服務(wù)器中的該對象未被修改,則響應(yīng)報文含有服務(wù)器中的該對象未被修改,則響應(yīng)報文含有 304 Not Modified,并且
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司聘用電工合同范本
- 煤炭購銷合同保密協(xié)議書
- 個人店面出租合同范本
- 小吃合作伙伴合同范本
- 交通事故協(xié)商理賠協(xié)議書
- 智慧水務(wù)系統(tǒng)合同范本
- 培訓(xùn)機構(gòu)合同入股協(xié)議書
- 店鋪轉(zhuǎn)讓分期合同范本
- 廠房租賃定金合同范本
- 幼兒園保健員合同范本
- 充電樁基本知識課件
- 中職電子類面試題及答案
- 作風(fēng)建設(shè)學(xué)習(xí)教育讀書班交流發(fā)言提綱
- 2025年社會工作者職業(yè)水平考試中級實務(wù)模擬試卷:社會工作專業(yè)能力與團(tuán)隊協(xié)作能力試題
- 2025年《AI人工智能知識競賽》題庫及答案解析
- 全國公開課一等獎人教版小學(xué)數(shù)學(xué)五年級下冊《數(shù)學(xué)廣角-找次品》課件
- 2022年高中物理同步講義(選修性必修3)第11講-熱力學(xué)第一定律(原卷版)
- 電工電焊工安全培訓(xùn)
- 2025年中鹽京津冀鹽業(yè)限責(zé)任公司校園招聘管理單位筆試遴選500模擬題附帶答案詳解
- 2024年浙江省中考社會(開卷)真題卷及答案解析
- 建筑施工企業(yè)安全管理組織機構(gòu)及主要職責(zé)
評論
0/150
提交評論