計算機網絡與通信7internet協(xié)議應用層_第1頁
計算機網絡與通信7internet協(xié)議應用層_第2頁
計算機網絡與通信7internet協(xié)議應用層_第3頁
計算機網絡與通信7internet協(xié)議應用層_第4頁
計算機網絡與通信7internet協(xié)議應用層_第5頁
已閱讀5頁,還剩244頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1第7章Internet協(xié)議應用層School

of

Computer應用層概述應用層協(xié)議的任務應用層的任務是為用戶提供服務。每個應用層的協(xié)議都是為了解決某一類應用問題。而問題的解決又往往是通過位于不同主機中的多個進程之間的通信和協(xié)同工作來完成的。應用層的具體內容就是規(guī)定應用進程在通信時所遵循的協(xié)議。P279-謝(4),P224-謝(5)應用層協(xié)議的目的目的是支持用戶聯(lián)網的應用的要求。由于用戶的要求不同,應用層含有支持不同應用的多種應用實體,提供多種應用服務,如電子郵件、文件傳輸、虛擬終端、電子數(shù)據(jù)交換等。7.3應用層協(xié)議2應用層的設計問題應用管理①參數(shù)初始化②應用進程創(chuàng)建、維護③資源分配、回收④安全控制系統(tǒng)管理【監(jiān)督、報告、統(tǒng)計等】7.3應用層協(xié)議3客戶/服務器有關概念TCP/IP體系采用客戶/服務器方式使進程能夠進行通信。

客戶服務器方式所描述的是進程之間服務和被服務的關系??蛻糗浖奶攸c:在進行通信時臨時成為客戶,但它也可在本地進行其他的計算。被用戶調用,在用戶的PC機上運行,在打算通信時主動向遠地服務器發(fā)起通信??膳c多個服務器進行通信。不需要特殊的硬件和很復雜的操作系統(tǒng)。7.3應用層協(xié)議4服務器軟件的特點:是一種專門用來提供某種服務的程序,可同時處理多個遠地客戶的請求。在共享計算機上運行。當系統(tǒng)啟動時即自動調用,且不斷地運行著。被動地等待并接受來自多個客戶的通信請求。一般需要強大的硬件和高級的操作系統(tǒng)支持。7.3應用層協(xié)議57.3.2

域名系統(tǒng)DNS每個主機都有一個IP地址,但是IP地址不易記憶,所以每個主機應該有一個容易記憶的名字。但是主機在運行過程中,真正使用的還是IP地址,所以在主機名和IP地址之間應該有一個映射。運行域名服務器程序的主機叫域名服務器。因特網的域名系統(tǒng)DNS被設計成為一個聯(lián)機分布式數(shù)據(jù)庫系統(tǒng),并采用客戶/服務器方式。DNS使大多數(shù)名字都在本地解析,僅少量解析需要在因特網上通信,因此系統(tǒng)效率很高。由于DNS是分布式系統(tǒng),即使單個計算機出了故障,也不會妨礙整個系統(tǒng)的正常運行。功能:將名字(域名)映射到IP地址。7.3應用層協(xié)議6一、因特網的域名結構因特網采用了層次樹狀結構的命名方法。連接在因特網上的任何一臺主機都有唯一的一個名字,這里把名字稱為域名。1.

域名按層次結構為主機所規(guī)定的名字。7.3應用層協(xié)議72.

域名的命名規(guī)則分級(每級稱為一個域)“域”是名字空間中一個可被管理的劃分。域可以再劃分為子域。···.三級域名.二級域名.頂級域名級間用“.”分隔,級別最低的寫在最左邊每一級的域名都是由英文字母和數(shù)字組成,完整的域名不超過255字符,每一分量不超過63字符,不區(qū)分大小寫。域名只是一個邏輯的概念,它不反映主機的物理地點。7.3應用層協(xié)議83.

域名管理由IANA(Internet

Assigned

NumbersAuthority

)、ICANN(Internet

Corporation

for

Assigned

Namesand

Numbers)分配與維護7.3應用層協(xié)議94.頂級域名(TLD)(三類)國家頂級域名(nTLD):(2個字符),如cn表示中國。國際頂級域名(iTLD):只有int。通用頂級域名(gTLD):net表示網絡服務機構

gov表示政府org

表示非贏利機構com表示公司企業(yè)

edu

表示教育mil

表示軍事shop

表示銷售公司和企業(yè)web

表示突出萬維網活動的單位

arts

表示突出文化、娛樂活動的單位

rec表示突出消遣、娛樂活動的單位

info

表示提供信息服務的單位nom

表示個人7.3應用層協(xié)議10因特網的名字空間int

cnfr com

net

org edu

gov

mil

…us

uk

jpbj

sh

hb gov

edu…Ibm

hp sohu

intel

…whu

pku

…cs

eis

…根頂級域名二級域名三級域名四級域名11122000年11月新增頂級域名??.aero

(航空運輸企業(yè)).biz

(公司和企業(yè)).cat

(加泰隆人的語言和文化團體).coop

(合作團體).info

(各種情況).jobs

(人力資源管理者).mobi

(移動產品與服務的用戶和提供者).museum

(博物館).name

(個人).pro

(有證書的專業(yè)人員).travel

(旅游業(yè))國家下的二級域名由該國自行確定5.

中國的二級域名ac,com,edu,gov,net,org7.3應用層協(xié)議13二、資源記錄P253-黃每個域對應一個資源記錄,包括五項:

Domain_name,Time_to_live,

Class,

Type,

length,ValueDomain_name:域名,主關鍵字

Time_to_live:生存時間(秒,86400表示永久)Class:對Internet固定為IN,表示Internet地址

Type:記錄類型Length:數(shù)據(jù)長度

Value:具體值7.3應用層協(xié)議14Type定義類型意義值SOAStartOfAuthority該區(qū)的參數(shù)A主機的IP地址32位整數(shù)MX郵件交換優(yōu)先權,域NS名字服務器本域服務器名CNAME規(guī)范名域名PTR指針I(yè)P地址的別名HINFO主機描述CPU、OS信息TXT文本ASCII串MX:準備為自己接收電子郵件的域名7.3應用層協(xié)議一旦某個單位擁有了一個域名,它就可以自己決定是否要進一步劃分其下屬的子域。相對域名:是指在某一級的域名的下屬域名。如,whu是edu下屬的一個相對域名。絕對域名:是完整的域名,一直寫出根域名。如,7.3應用層協(xié)議157.3應用層協(xié)議三、DNS服務器及實現(xiàn)1.

分區(qū)管理一個服務器所負責管轄的(或有權限的)范圍叫做區(qū)(zone)。各單位根據(jù)具體情況來劃分自己管轄范圍的

區(qū)。但在一個區(qū)中的所有節(jié)點必須是能夠連通的。每一個區(qū)設置相應的權限域名服務器,用來保存該區(qū)中的所有主機的域名到IP地址的映射。DNS

服務器的管轄范圍不是以“域”為單位,而是以“區(qū)”為單位。16區(qū)的不同劃分方法舉例abc域區(qū)xu

v

wy(a)

區(qū)=域(b)

區(qū)<域abct區(qū)ycomeducomedu

org域區(qū)xt

u

v

worg根

根17域名服務器有以下四種類型根域名服務器-管理頂級域名服務器頂級域名服務器-管理所有二級域名權限域名服務器-分區(qū)內的域名服務器本地域名服務器-默認域名服務器7.3應用層協(xié)議18樹狀結構的DNS

域名服務器根域名服務器根域名服務器org

域名服務器org

域名服務器com

域名服務器com

域名服務器edu

域名服務器…域名服務器abc公司有兩個權限域名服務器權限域名服務器19根域名服務器頂級域名服務器域名服務器域名服務器域名服務器——最高層次的域名服務器——根域名服務器是最重要的域名服務器。所有的根域名服務器都知道所有的頂級域名服務器的域名和IP

地址。不管是哪一個本地域名服務器,若要對因特網上任何一個域名進行解析,只要自己無法解析,就首先求助于根域名服務器。在因特網上共有13

個不同IP

地址的根域名服務器,它們的名字是用一個英文字母命名,從a

一直到m(前13

個字母,美國10個,英、瑞典、日各1)。7.3應用層協(xié)議根域名服務器20根域名服務器共有13

套裝置(不是13

個機器)21這些根域名服務器相應的域名分別是

…到2006年底全世界已經安裝了一百多個根域名服務器機器,分布在世界各地。這樣做的目的是為了方便用戶,使世界上大部分DNS域名服務器都能就近找到一個根域名服務器。舉例:根域名服務器f

的地點分布圖根域名服務器并不直接把域名直接轉換成IP

地址。

在使用迭代查詢時,根域名服務器把下一步應當找的頂級域名服務器的IP

地址告訴本地域名服務器。22共40

個機器頂級域名服務器(即TLD

服務器)負責管理在該頂級域名服務器注冊的所有二級域名。當收到DNS查詢請求時,就給出相應的回答(最后結果,或下一步應當找的域名服務器的IP

地址)。7.3應用層協(xié)議23權限域名服務器(區(qū)域名服務器)負責本區(qū)的域名解析。當一個權限域名服務器還不能給出最后的查詢回答時,就會告訴發(fā)出查詢請求的

DNS客戶,下一步應當找哪一個權限域名服務器。7.3應用層協(xié)議24本地域名服務器本地域名服務器對域名系統(tǒng)非常重要。當一個主機發(fā)出DNS查詢請求時,這個查詢請求報文就發(fā)送給本地域名服務器。每一個因特網服務提供者ISP,或一個大學,甚至一個大學里的系,都可以擁有一個本地域名服務器,這種域名服務器有時也稱為默認域名服務器。7.3應用層協(xié)議25提高域名服務器的可靠性DNS域名服務器都把數(shù)據(jù)復制到幾個域名服務器來保存,其中的一個是主域名服務器,其他的是輔助域名服務器。當主域名服務器出故障時,輔助域名服務器可以保證DNS

的查詢工作不會中斷。主域名服務器定期把數(shù)據(jù)復制到輔助域名服務

器中,而更改數(shù)據(jù)只能在主域名服務器中進行。這樣就保證了數(shù)據(jù)的一致性。7.3應用層協(xié)議267.3應用層協(xié)議四、域名解析兩種:遞歸解析、迭代解析遞歸為主查詢請求本地DNS服務器。如果未找到,頂層下層,返回結果。2728本地域名服務器采用遞歸查詢頂級域名服務器權限域名服務本地域名服務器根域名服務器遞歸查詢遞歸查詢

的IP

地址需要查找

的IP

地址7.3應用層協(xié)議29本地域名服務器采用迭代查詢頂級域名服務器權限域名服務本地域名服務器根域名服務器迭代查詢

的IP

地址遞歸查詢需要查找

的IP

地址7.3應用層協(xié)議7.3應用層協(xié)議五、名字的高速緩存使用高速緩存可優(yōu)化查詢的開銷客戶機的緩存:存放轉換的地址域名服務器的緩存:存放最近用過的名字以及從何處獲得名字映射信息的記錄問題:有效期限307.3.3

文件傳輸協(xié)議兩種主要模式:C/S模式將文件從客戶機傳輸?shù)轿募掌骰驈奈募掌鱾鬏數(shù)娇蛻魴CP2P模式在計算機之間傳輸文件7.3應用層協(xié)議31一、FTPFTP概況采用客戶/服務器模式在客戶和服務器之間利用TCP建立連接,并使用TCP提供的可靠的傳輸服務。是一個交互式會話系統(tǒng),需要建立兩個連接:控制連接和數(shù)據(jù)連接具有權限控制可以指定文件類型與格式FTP是基于TCP協(xié)議,TFTP是基于UDP協(xié)議。7.3應用層協(xié)議32FTP工作過程一個FTP服務器進程可同時為多個客戶進程提供服務。

FTP的服務器進程由兩大部分組成:一個主進程,負責接受新的請求;另外有若干個從屬進程,負責處理單個請求。7.3應用層協(xié)議33主進程的工作步驟:打開熟知端口(端口號為21),使用戶進程能夠連接上。監(jiān)聽客戶的請求;收到請求后啟動一個從屬進程處理客戶的請求;從屬進程完成后自動終止;回到監(jiān)聽狀態(tài),繼續(xù)接受其他客戶進程發(fā)來的請求。7.3應用層協(xié)議34從屬進程的工作接收主進程的命令,創(chuàng)建控制進程;建立與客戶的控制連接;收到客戶從控制連接發(fā)來的傳送請求后,創(chuàng)建數(shù)據(jù)傳送進程;與客戶建立數(shù)據(jù)連接(端口20),并與數(shù)據(jù)傳送進程關聯(lián);數(shù)據(jù)傳送進程控制數(shù)據(jù)連接及其傳送;傳送完畢,釋放數(shù)據(jù)連接,終止數(shù)據(jù)進程;釋放控制連接,終止控制進程(一般由客戶發(fā)起)7.3應用層協(xié)議35FTP

使用的兩個TCP

連接控制進程數(shù)據(jù)傳送進程用戶界面控制進程數(shù)據(jù)傳送進程客戶端 服務器端因特網控制連接數(shù)據(jù)連接兩次連接的過程:P286-謝(4),

P234-謝(5)7.3應用層協(xié)議36(1)

Standard模式(PORT模式)客戶端

PORT命令

服務器21口:控制連接客戶端(端口號)

PORT命令

控制連接:20口數(shù)據(jù)連接(2)PASSIVE模式(PASV模式)客戶端

PASV命令

服務器21口:控制連接服務器告訴客戶機一個非20的端口號,客戶端連接到此端口建立數(shù)據(jù)連接、傳輸數(shù)據(jù)7.3應用層協(xié)議FTP的工作模式37FTP客戶端程序必須與遠程的FTP服務器建立連接并登錄后,即建立用戶帳號,擁有合法的登錄用戶名和密碼后,才能進行文件傳輸。實際上,因特網的FTP服務器是一種匿名(anonymous)FTP服務。為了安全起見,大多數(shù)匿名服務器只允許下載(Download)文件,而不允許上傳(Upload)文件。7.3應用層協(xié)議38FTP登錄鑒別1.

與服務器創(chuàng)建TCP連接3.收到“準備好”應答,發(fā)送用戶名5.

發(fā)送密碼7.

收到問候,打開連接FTP客戶機2.

創(chuàng)建TCP連接,發(fā)送220“準備好”應答4.

收到用戶名,發(fā)送331“需要密碼”消息6.收到密碼,發(fā)送230“問候”消息(TCP)FTP服務器220USER

ID331PASSword2307.3應用層協(xié)議39FTP傳輸模式流模式:無結構塊模式:數(shù)據(jù)塊,3字節(jié)首部記錄塊信息壓縮模式7.3應用層協(xié)議40FTP內容模式BinaryTextAuto7.3應用層協(xié)議41FTP命令Get:把遠程的文件拷貝到本地計算機上

Put:將本地文件復制到遠程計算機中

Mput:將本地多個文件復制到遠程計算機

Mget:將多個遠程文件復制到本地計算機

Ls:顯示遠程目錄的文件和字目錄等等7.3應用層協(xié)議42GUI工具斷點續(xù)傳(如Netants、GetRight、CuteFTP、flashGet)多線程傳送NFS:傳送文件的一部分NFS允許應用進程打開一個遠地文件,并能在該文件的某一個特定的位置上開始讀寫數(shù)據(jù)。NFS可使用戶只復制一個大文件中的一個很小的片段,而不需要復制整個大文件。在網絡上傳送的只是少量的修改數(shù)據(jù)。7.3應用層協(xié)議改進:P264-黃43二、簡單文件傳送協(xié)議TFTPTFTP(Trivial

FILE

Transfer

Protocol)是一個很小且易于實現(xiàn)的文件傳送協(xié)議。它使用UDP數(shù)據(jù)報,因此TFTP需要有自己的差錯控制。TFTP只支持文件傳輸,沒有權限控制。TFTP的主要特點是:采用UDP協(xié)議傳送;每個報文需要應答(停止等待方式);UDP報文固定512字節(jié)長;具有定時功能,不支持交互操作。7.3應用層協(xié)議44TFTP

的工作很像停止等待協(xié)議發(fā)送完一個文件塊后就等待對方的確認,確認時應指明所確認的塊編號。發(fā)完數(shù)據(jù)后在規(guī)定時間內收不到確認就要重發(fā)數(shù)據(jù)PDU。發(fā)送確認PDU的一方若在規(guī)定時間內收不到下一個文件塊,也要重發(fā)確認PDU。這樣就可保證文件的傳送不致因某一個數(shù)據(jù)報的丟失而告失敗。7.3應用層協(xié)議4546TFTP的工作過程在一開始工作時。TFTP

客戶進程發(fā)送一個讀請求

PDU

或寫請求PDU

給TFTP

服務器進程,其熟知端口號碼為69。TFTP

服務器進程要選擇一個新的端口和TFTP

客戶進程進行通信。若文件長度恰好為512

字節(jié)的整數(shù)倍,則在文件傳送完畢后,還必須在最后發(fā)送一個只含首部而無數(shù)據(jù)的數(shù)據(jù)PDU。若文件長度不是512

字節(jié)的整數(shù)倍,則最后傳送數(shù)據(jù)PDU

的數(shù)據(jù)字段一定不滿512字節(jié),這正好可作為文件結束的標志。7.3應用層協(xié)議47TFTP

的五種協(xié)議數(shù)據(jù)單元PDU2文件名0方

式0數(shù)據(jù)PDU2

51223塊編號數(shù)

據(jù)確認PDU24塊編號2差錯PDU221n5差錯代碼差錯信息0節(jié)

2

n

1

n

11文件名0方

式02n1n1字讀請求

PDU寫請求PDU7.3應用層協(xié)議7.3.4

TELNET功能:遠程登錄,將一臺計算機模擬成一個遠 程主機的終端(VT)。通信協(xié)議:TCPVT的主要問題:格式

m×n問題m+n問題VT的主要形式滾式:一維,無編輯能力頁式:可全屏編輯,如CRT表格式圖形式7.3應用層協(xié)議48TELNET使用客戶/服務器的方式。與FTP的情況相似,服務器中的主進程等待新的請求,并產生從屬進程來處理每一個連接。7.3應用層協(xié)議497.3應用層協(xié)議TELNET工作過程本地與遠程主機建立連接:TCP連接(端口 號為23)截獲本地計算機上輸入的任何命令或字符, 以NVT格式傳送到遠程主機(TCP報文)將遠程主機輸出的NVT格式的數(shù)據(jù)轉化為本 地所接受的格式送回本地終端顯示本地終端對遠程主機撤銷連接50TELNET

使用網絡虛擬終端NVT

格式因特網TCP

連接客戶端服務器端使用客戶端的格式使用服務器端的格式使用NVT

格式客戶服務器7.3應用層協(xié)議51網絡虛擬終端NVT

格式客戶軟件把用戶的擊鍵和命令轉換成NVT格式,并送交服務器。服務器軟件把收到的數(shù)據(jù)和命令,從NVT格式轉換成遠地系統(tǒng)所需的格式。向用戶返回數(shù)據(jù)時,服務器把遠地系統(tǒng)的格式轉換為NVT

格式,本地客戶再從

NVT

格式轉換到本地系統(tǒng)所需的格式。7.3應用層協(xié)議52TELNET遠程登陸53TELNET遠程登陸54windows遠程桌面55windows遠程桌面56windows遠程桌面577.3.5電子郵件一、概述電子郵件(e-mail)是因特網上使用得最多的和最受用戶歡迎的一種應用。電子郵件把郵件發(fā)送到收件人使用的郵件服務器,并放在其中的收件人郵箱中,收件人可隨時上網

到自己使用的郵件服務器進行讀取。電子郵件不僅使用方便,而且還具有傳遞迅速和費用低廉的優(yōu)點?,F(xiàn)在電子郵件不僅可傳送文字信息,而且還可附上聲音和圖像。7.3應用層協(xié)議58二、電子郵件的一些標準在1982

年制定出簡單郵件傳送協(xié)議SMTP

(Simple

Mail

Transfer

Protocol)和因特網文本報文格式,它們都已成為因特網的正式標準。1993

年提出了通用因特網郵件擴充MIME(Multipurpose

Internet

Mail

Extensions)。MIME在其郵件首部中說明了郵件的數(shù)據(jù)類型(如文本、聲音、圖像、視像等)。在MIME

郵件中可同時傳送多種類型的數(shù)據(jù)。發(fā)送郵件的協(xié)議:SMTP讀取郵件的協(xié)議:POP3

和IMAP7.3應用層協(xié)議59三、應包括的基本功能撰寫、傳輸、報告、顯示、處理四、體系結構用戶代理消息傳輸代理用戶代理消息傳輸代理郵件服務器郵件服務器7.3應用層協(xié)議6061五、電子郵件的最主要的組成構件發(fā)送方接收端

郵件服務器用戶代理發(fā)送端

郵件服務器用戶代理郵件緩存接收方(發(fā)送郵件)SMTP(發(fā)送郵件)SMTP用戶郵箱(讀取郵件)POP3因特網發(fā)送郵件SMTPTCP連接讀取郵件POP3TCP連接發(fā)送方

郵件服務器SMTP客戶POP3客戶發(fā)件人用戶代理接收方

郵件服務器SMTP服務器POP3服務器SMTP服務器SMTP客戶收件人用戶代理發(fā)送郵件SMTPTCP

連接62用戶代理UA(User

Agent)用戶代理使用戶能夠通過一個很友好的接口來發(fā)送和接收郵件。用戶代理應具有四個功能:撰寫、顯示、處理。P255-256謝(5)傳輸代理MTA 傳輸、報告?zhèn)鬏數(shù)哪康牡兀簩Ψ洁]件服務器郵件服務器:存儲收到的郵件,有發(fā)送和接收郵件功能,同時還要向發(fā)信人報告郵件傳送的情況(已交付、被拒絕、丟失等)。郵件服務器按照客戶服務器方式工作。郵件服務器需要使用發(fā)送和讀取兩個不同的協(xié)議。4.

電子郵件協(xié)議:SMTP、POP、IMAP。7.3應用層協(xié)議63

發(fā)件人調用PC機中的用戶代理撰寫和編輯要發(fā)送的郵件。

發(fā)件人的用戶代理把郵件用SMTP協(xié)議發(fā)給發(fā)送方郵件服務器。SMTP服務器把郵件臨時存放在郵件緩存隊列中,等待發(fā)送。

發(fā)送方郵件服務器的SMTP客戶與接收方郵件服務器的SMTP

服務器建立TCP

連接,然后就把郵件緩存隊列中的郵件依次發(fā)送出去。7.3應用層協(xié)議發(fā)送和接收電子郵件的幾個重要步驟64

運行在接收方郵件服務器中的SMTP服務器進程收到郵件后,把郵件放入收件人的用戶郵箱中,等待收件人進行讀取。

收件人在打算收信時,就運行PC機中的用戶代理,使用POP3(或IMAP)協(xié)議讀取發(fā)送給自己的郵件。請注意,POP3

服務器和POP3

客戶之間的通信是由POP3

客戶發(fā)起的。7.3應用層協(xié)議發(fā)送和接收電子郵件的幾個重要步驟(續(xù))電子郵件的發(fā)送和接收過程接收端

郵件服務器用戶代理發(fā)送端

郵件服務器用戶代理郵件緩存接收方用戶代理用戶代理郵件郵件服務器(發(fā)送郵件)SMTP發(fā)送方(發(fā)送郵件)SMTP(TCP

連接)服務器因特網65(1)發(fā)信人調用用戶代理來編輯要發(fā)送的郵件。用戶代理用SMTP

把郵件傳送給發(fā)送端郵件服務器。電子郵件的發(fā)送和收過程接收端

郵件服務器用戶代理發(fā)送端

郵件服務器郵件緩存用戶代理接收方用戶代理用戶代理郵件郵件服務器SMTP(發(fā)送郵件)發(fā)送方

(發(fā)送郵件)SMTP(TCP

連接)服務器因特網66(2)發(fā)送端郵件服務器將郵件放入郵件緩存隊列中,等待發(fā)送。電子郵件的發(fā)送和接收過程郵件緩存接收端

郵件服務器用戶代理發(fā)送端

郵件服務器用戶代理接收方用戶代理用戶代理郵件郵件服務器SMTP(發(fā)送郵件)發(fā)送方

(發(fā)送郵件)SMTP(TCP

連接)服務器SMTP(發(fā)送郵件)SMTP(發(fā)送郵件)(TCP

連接)因特網(3)運行在發(fā)送端郵件服務器的SMTP

客戶進程,發(fā)現(xiàn)在郵件緩存中有待發(fā)送的郵件,就向運行在接收端郵件服務器的SMTP

服務器進程發(fā)起TCP

連接的建立。6768電子郵件的發(fā)送和接收過程郵件緩存接收端

郵件服務器用戶代理發(fā)送端

郵件服務器用戶代理用戶郵箱接收方用戶代理用戶代理郵件郵件服務器SMTP(發(fā)送郵件)發(fā)送方

(發(fā)送郵件)SMTP(TCP

連接)服務器SMTP(發(fā)送郵件)SMTP(發(fā)送郵件)(TCP

連接)因特網(4)TCP

連接建立后,SMTP

客戶進程開始向遠程的SMTP

服務器進程發(fā)送郵件。當所有的待發(fā)送郵件發(fā)完了SMTP

就關閉所建立的TCP

連接。69電子郵件的發(fā)送和接收過程郵件緩存接收端

郵件服務器用戶代理發(fā)送端

郵件服務器用戶代理用戶郵箱接收方用戶代理用戶代理郵件郵件服務器SMTP(發(fā)送郵件)發(fā)送方

(發(fā)送郵件)SMTP(TCP

連接)服務器SMTP(發(fā)送郵件)SMTP(發(fā)送郵件)(TCP

連接)因特網(5)運行在接收端郵件服務器中的SMTP服務器進程收到郵件后,將郵件放入收信人的用戶郵箱中,等待收信人在方便時進行讀取。70電子郵件的發(fā)送和接收過程郵件緩存接收端

郵件服務器用戶代理發(fā)送端

郵件服務器用戶代理用戶郵箱接收方用戶代理用戶代理郵件郵件服務器SMTP(發(fā)送郵件)發(fā)送方

(發(fā)送郵件)SMTP(TCP

連接)服務器SMTP(發(fā)送郵件)SMTP(發(fā)送郵件)(TCP

連接)POP3(讀取郵件)(讀取郵件)POP3(TCP

連接)因特網(6)收信人在打算收信時,調用用戶代理,使用POP3(或IMAP)協(xié)議將自己的郵件從接收端郵件服務器的用戶郵箱中的取回(如果郵箱中有來信的話)。六、電子郵件的組成電子郵件由信封(envelope)和內容(content)兩部分組成。電子郵件的傳輸程序根據(jù)郵件信封上的信息來傳送郵件。用戶在從自己的郵箱中讀取郵件時才能見到郵件的內容。在郵件的信封上,最重要的就是收信人的地址。7.3應用層協(xié)議71收信人郵箱名@郵箱所在主機的域名符號“@”讀作“at”,表示“在”的意思。例如,電子郵件地址

lvhui815@七、電子郵件地址的格式TCP/IP體系的電子郵件系統(tǒng)規(guī)定電子郵件地址的格式如下:郵箱所在的主機的域名在全世界必須是惟一的這個用戶名在該域名的范圍內是惟一的。7.3應用層協(xié)議72八、郵件格式信封(UA自動填寫)、頭部、主體(正文)7.3應用層協(xié)議731.

郵件頭部格式(RFC822)關鍵字含義TO:第一收信人的電子郵件地址Cc:第二收信人的電子郵件地址From:撰寫郵件的個人或多個名字Sender:實際發(fā)信人的電子郵件地址(可選)Date:發(fā)送郵件的日期和時間Reply-To:回信應送達的電子郵件地址(可選)Subject:在一行中顯示一個郵件的簡短摘要Keywords:用戶選擇的關鍵詞(可選)Bcc:盲抄送的電子郵件地址(可選)7.3應用層協(xié)議74郵件正文由用戶撰寫。格式:文本(7位ASCII)對二進制、各國文字等需要轉換,表示方式:MIMEUuencodeMIME的編碼規(guī)則:Base64:每6位為一個單位,其值為0~63,分別替換為A,B,…,Z,a,b,…,z,0,1,…,9,+,/Quoted-printableencoding:大于127的字符替換為:=及兩個16進制數(shù)7.3應用層協(xié)議75什么是Base64?按照RFC2045的定義,Base64被定義為:其內容傳送編碼被設計用來把任意序列的8位字節(jié)描述為一種不易被人直接識別的形式。算法詳解Base64編碼要求把3個8位字節(jié)(3×8=24)轉化為4個6位的字節(jié)(4×6=24)。具體轉化形式間下:字符串

11010101

11000101

0011001100110101

00011100

00010100

001100111

c

U

z

->

49

99

85

122

(ASCII)轉換成ASCII2.2數(shù)據(jù)通信系統(tǒng)766

bit值字符編碼6

bit值字符編碼6

bit值字符編碼6

bit值字符編碼0A17R34i51z1B18S35j5202C19T36k5313D20U37l5424E21V38m5535F22W39n5646G23X40o5757H24Y41p5868I25Z42q5979J26a43r60810K27b44s61911L28c45t62+12M29d46u63/13N30e47v14O31f48w(填充)=15P32g49x16Q33h50y2.2數(shù)據(jù)通信系統(tǒng)77九、郵件傳輸1.發(fā)送協(xié)議(SMTP)(1)

常用的SMTP指令(客戶機—>服務器):HELLO

hostname—告知客戶機使用的主機名

MAIL

FROM:sender_id—發(fā)信人的郵件地址

RCPT

TO:receiver_id—收信人的郵件地址DATA—郵件正文,以僅含句點的行結束

NOOP

—無操作RESET—取消剛才的指令

QUIT—關閉TCP連接SEND

—向終端發(fā)送郵件SOML

—若可能向終端發(fā)送郵件,否則發(fā)往信箱

SAML

—向終端和信箱發(fā)送郵件VRFY

—證實用戶名EXPN

—返回郵件發(fā)送清單的成員

HELP

—發(fā)送幫助文檔TURN

—顛倒發(fā)送方和接收方的角色7.3應用層協(xié)議78(2)

SMTP應答碼包括肯定、暫時否定、永久否定三大類常用的服務器返回的響應(格式為:響應碼+空格+說明)220服務就緒(在Socket連接成功時返回此信息)221正在處理250請求指令正確執(zhí)行354開始發(fā)送郵件,并以<CRLF>.<CRLF>結束421服務器不可用500語法錯誤550郵箱無效7.3應用層協(xié)議79SMTP

通信的三個階段:連接建立連接釋放見P293-294謝(4),P257-258謝(5),P259-黃當SMTP發(fā)送程序有一個或多個郵件報文需要傳遞到目的主機時,SMTP發(fā)送程序就試圖與目的主機建立一條TCP連接。過程如下:發(fā)送程序打開一條與接收程序(接收郵件服務器)的TCP連接(利用熟知端口25號,不使用中間服務器)。一旦連接建立,接收程序通過“220服務就緒”來標識自己。發(fā)送程序通過HELLO命令來表示自己。

接收程序用“250一切正常”來接收發(fā)送程序的身份標識。

如果目的地的郵件服務不能用,那么目的主機在第二步中返回一個“421服務不可用”回答,并且處理結束。7.3應用層協(xié)議80(2)郵件傳送見P293-294謝(4),

P257-258謝(5)一旦連接建立后,SMTP發(fā)送程序就可以向SMTP接收程序發(fā)送一或多個報文。報文地傳送有三個邏輯階段:用一個MAIL命令標識出報文發(fā)送方。用一個或多個RCPT命令標識該報文的接收方。用一個DATA命令傳送報文文本。(3)

連接釋放見P293-294謝(4),

P257-258謝(5)SMTP發(fā)送程序分兩步來釋放一個連接:發(fā)送程序發(fā)送一個QUIT命令,并等待回答。接收程序在回答QUIT命令之后,就發(fā)起自己的TCP關閉操作。7.3應用層協(xié)議8182SMTP信息交互過程舉例:Server:

220

SMTP

service

readyClient

:

HELLOmypcServer:

250

says

hello

to

mypcClient

:

MAIL

FROM:

gwn@

Server:

250

sender

OKClient

:

RCPT

TO:

xxx@

Server:

250

recipient

OKClient

:

DATA服務器已準備好。主機mypc要與服務器交互信息服務器同意與mypc交互信息發(fā)送郵件(發(fā)送者地址)ok接收者地址ok開始發(fā)送郵件內容Server:

354

send

mail;end

with

“.”

on

a

line

by

itself同意發(fā)送郵件內容Client

:From:

gwu@Client

:……To:

xxx@郵件內容Client

:.郵件內容發(fā)送結束Server:250message

accept郵件內容已接收完Client

:QUIT請求結束本次交互Server:221wgx

closing

connection同意結束本次交互。十、郵件讀取協(xié)議POP3和IMAP郵件接收協(xié)議有POP3,IMAP和DMSP。1.

POP3(Post

Office

Protocol)郵局協(xié)議POP(Post

Office

Protocol)是功能有限的郵件讀取協(xié)議。它采用客戶/服務器的工作方式。特點就是只要用戶從POP服務器讀取了郵件,POP服務器就將該郵件刪除。見P295-謝(4),P259-260謝(5)7.3應用層協(xié)議83工作過程:POP3客戶使用110端口與服務器建立TCP連接。客戶等待服務器發(fā)出問候信息,進入認證狀態(tài),用戶通過

USER指令和PASS指令實現(xiàn)身份認證。認證成功后,用戶可以通過LIST命令列出郵件頭的信息,通過RETR指令將制定郵件取回本地主機,通過DELE命令將指定郵件標識為刪除,等等。服務器接到QUIT指令后,進入更新狀態(tài),系統(tǒng)將沒有被標識為刪除的郵件反拷貝回系統(tǒng)郵箱,然后關閉連接退出。功能:身份驗證從服務器讀取郵件并存放到本地機器上。其它操作(刪除、備份等)。(3)傳輸采用TCP連接。7.3應用層協(xié)議84IMAP因特網報文存取協(xié)議IMAP(Internet

Message

AccessProtocol)比POP復雜的多。它也按客戶/服務器方式工作。見P296-謝(4)用戶使用IMAP4客戶程序(使用143端口)連接到IMAP4服務器用戶的郵箱,就可看到郵件的首部,比如郵件的發(fā)送時間、主題等。當需要打開某個郵件,該郵件才傳送到用戶的計算機,除非用戶發(fā)出刪除該郵件的命令,IMAP4服務器始終保存該郵件。目的:使用多臺計算機訪問一個帳號。區(qū)別:不將服務器上的郵件拷貝到本地主機。7.3應用層協(xié)議8586IMAP

的特點IMAP最大的好處就是用戶可以在不同的地方使用不同的計算機隨時上網閱讀和處理自己的郵件。IMAP還允許收信人只讀取郵件中的某一個部分。例如,收到了一個帶有視像附件(此文件可能很大)的郵件。為了節(jié)省時間,可以先下載郵件的正文部分,待以后有時間再讀取或下載這個很長的附件。IMAP

的缺點是如果用戶沒有將郵件復制到自己的PC

機上,則郵件一直是存放在IMAP

服務器上。因此用戶需要經常與

IMAP

服務器建立連接。3.

DMSP(Distributed

Mail

System

Protocol)郵件不一定在一個服務器上。脫機操作。7.3應用層協(xié)議小結:POP3服務器要求用戶將郵件取回本地的普通客戶機進行維護。一旦郵件交付給用戶計算機后,POP3服務器便不再保存這些郵件,因此POP3是一個脫機協(xié)議。IMAP4則可以在服務器上直接維護,如同本地操縱一樣,是一個聯(lián)機協(xié)議。不要將郵件讀取協(xié)議POP

或IMAP

與郵件傳送協(xié)議SMTP

弄混。發(fā)信人的用戶代理向源郵件服務器發(fā)送郵件,以及源郵件服務器向目的郵件服務器發(fā)送郵件,都是使用

SMTP

協(xié)議。而POP

協(xié)議或IMAP

協(xié)議則是用戶從目的郵件服務器上讀取郵件所使用的協(xié)議。7.3應用層協(xié)議87HTTPHTTP十一、基于萬維網的電子郵件電子郵件從A

發(fā)送到網易郵件服務器是使用HTTP

協(xié)議。兩個郵件服務器之間的傳送使用SMTP。郵件從新浪郵件服務器傳送到B

是使用HTTP

協(xié)議。ABSMTP網易郵件服務器新浪郵件服務器7.3應用層協(xié)議88十二、通用因特網郵件擴充MIME1.

MIME概述SMTP

有以下缺點:SMTP

不能傳送可執(zhí)行文件或其他的二進制對象。SMTP

限于傳送7

位的ASCII

碼。許多其他非英語國家的文字(如中文、俄文,甚至帶重音符號的法文或德文)就無法傳送。SMTP

服務器會拒絕超過一定長度的郵件。某些SMTP

的實現(xiàn)并沒有完全按照[RFC

821]的SMTP

標準。7.3應用層協(xié)議89MIME

的特點MIME

并沒有改動SMTP

或取代它。MIME的意圖是繼續(xù)使用目前的[RFC822]格式,但增加了郵件主體的結構,并定義了傳送非ASCII

碼的編碼規(guī)則。7.3應用層協(xié)議90MIME

和SMTP

的關系非ASCII

碼7

位ASCII碼MIMESMTPMIMESMTP7

位ASCII碼7

位ASCII碼非ASCII

碼用戶用戶7.3應用層協(xié)議91十三、電子郵件的加密P260-黃1.

PGP

(Pretty

Good

Privacy)PGP是一個完整的電子郵件安全軟件包,包括加密、鑒別、電子簽名和壓縮等技術。PGP

并沒有使用什么新的概念,它只是將現(xiàn)有的一些算法如MD5,RSA,以及IDEA

等綜合在一起而已。7.3應用層協(xié)議92PGP

的發(fā)送(加密)過程MD5RSAZIP

IDEAbase64RSAA

的明文PPP1P1.ZKM至因特網ASCII文本B的RSA公開密鑰EBKM:IDEA

的加密密鑰(一次一密):拼接P

與H

拼接H壓縮后的P1用密鑰KM

加密后的P1.Z

與用密鑰EB

加密后的KM

拼接A

的RSA秘密密鑰DA7.3應用層協(xié)議93PGP接收郵件過程Base64逆變換解密IDEA密鑰解密壓縮消息解密散列序列進行鑒別7.3應用層協(xié)議94PEM(Privacy

Enhanced

Mail)

P366-367謝(4)發(fā)送:將消息轉換為規(guī)范形式;用MD2或MD5計算摘要;對摘要和信件用DES加密;轉換為Base64碼發(fā)送。7.3應用層協(xié)議95群發(fā)郵件獲取收件人清單無需經過發(fā)送服務器,直接發(fā)給接收服務器7.3應用層協(xié)議9697萬維網站點A萬維網站點C萬維網站點E萬維網站點D萬維網站點B7.3應用層協(xié)議7.3.6

Web應用與HTTP萬維網WWW(World

Wide

Web)

簡稱為Web。它是一個分布式的超媒體(Hypermedia)系統(tǒng)。見P236-謝(5)7.3應用層協(xié)議一、信息組織分布式的超媒體系統(tǒng)用戶使用的超文本包含多種格式的數(shù)據(jù),分別存放于不同的文件中,通過超鏈連接文檔/文件稱為頁面(page)使用瀏覽器查看頁面98超媒體與超文本萬維網是分布式超媒體(hypermedia)系統(tǒng),它是超文本(hypertext)系統(tǒng)的擴充。一個超文本由多個信息源鏈接成。利用一個鏈接可以找到位于世界上任何一個接在因特網上的超文本系統(tǒng)中。超文本是萬維網的基礎。超媒體與超文本的區(qū)別是文檔內容不同。超文本文檔僅包含文本信息,而超媒體文檔還包含其他表示方式的信息,如圖形、圖像、聲音、動畫,甚至活動視頻圖像。7.3應用層協(xié)議99萬維網的工作方式萬維網以B/S方式(特定的C/S)工作。瀏覽器就是在用戶計算機上的萬維網客戶程序。萬維網文檔所駐留的計算機則運行服務器程序,因此這個計算機也稱為萬維網服務器??蛻舫绦蛳蚍掌鞒绦虬l(fā)出請求,服務器程序向客戶程序送回客戶所要的萬維網文檔。7.3應用層協(xié)議100萬維網必須解決的問題標志文檔?協(xié)議?統(tǒng)一資源定位符URL超文本傳送協(xié)議HTTP(3)

表示文檔內容?超文本標記語言HTML顯示文檔?查找信息?瀏覽器

搜索引擎7.3應用層協(xié)議101二、統(tǒng)一資源定位符URL1.URL的格式統(tǒng)一資源定位符URL來唯一地標識和定位因特網中的資源。它由三部分組成:客戶與服務器之間所使用的通信方式(ftp、http、news、Telnet);存放信息的服務器地址;存放信息的端口、路徑以及文件名。7.3應用層協(xié)議102URL

的一般形式由以冒號隔開的兩大部分組成,并且在URL中的字符對大寫或小寫沒有要求。URL

的一般形式是:<協(xié)議>://<主機>:<端口>/<路徑>ftp——文件傳送協(xié)議FTPhttp——超文本傳送協(xié)議HTTPNews——USENET

新聞7.3應用層協(xié)議103URL

的一般形式(續(xù))由以冒號隔開的兩大部分組成,并且在URL中的字符對大寫或小寫沒有要求。URL

的一般形式是:<協(xié)議>://<主機>:<端口>/<路徑><主機>是存放資源的主機在因特網中的域名7.3應用層協(xié)議104URL

的一般形式(續(xù))由以冒號隔開的兩大部分組成,并且在URL中的字符對大寫或小寫沒有要求。URL

的一般形式是:<協(xié)議>://<主機>:<端口>/<路徑>有時可省略7.3應用層協(xié)議105使用HTTP

的URL使用HTTP

的URL

的一般形式http://<主機>:<端口>/<路徑>這表示使用HTTP

協(xié)議7.3應用層協(xié)議106使用HTTP

的URL使用HTTP

的URL

的一般形式http://<主機>:<端口>/<路徑>冒號和兩個斜線是規(guī)定的格式7.3應用層協(xié)議107使用HTTP

的URL使用HTTP

的URL

的一般形式http://<主機>:<端口>/<路徑>這里寫主機的域名7.3應用層協(xié)議108使用HTTP

的URL使用HTTP

的URL

的一般形式http://<主機>:<端口>/<路徑>HTTP

的默認端口號是80,通常可省略7.3應用層協(xié)議109使用HTTP

的URL使用HTTP

的URL

的一般形式http://<主機>:<端口>/<路徑>若再省略文件的<路徑>項,則URL就指到因特網上的某個主頁(home

page)。7.3應用層協(xié)議110三、Web文檔形式與HTML語言1.

超文本標記語言HTML超文本標記語言HTML

中的Markup

的意思就是“設置標記”。HTML

定義了許多用于排版的命令(即標簽)。HTML

把各種標簽嵌入到萬維網的頁面中。這樣就構成了所謂的HTML

文檔。HTML

文檔是一種可以用任何文本編輯器創(chuàng)建的

ASCII

碼文件。7.3應用層協(xié)議111HTML

文檔僅當HTML文檔是以.html

或.htm

為后綴時,瀏覽器才對此文檔的各種標簽進行解釋。如HTML

文檔改換以.txt

為其后綴,則HTML

解釋程序就不對標簽進行解釋,而瀏覽器只能看見原來的文本文件。當瀏覽器從服務器讀取HTML

文檔后,就按照

HTML文檔中的各種標簽,根據(jù)瀏覽器所使用的顯示器的尺寸和分辨率大小,重新進行排版并恢復出所讀取的頁面。7.3應用層協(xié)議112HTML

文檔中標簽的用法<HTML><HEAD><TITLE>一個HTML

的例子</TITLE></HEAD><BODY><H1>HTML

很容易掌握</H1><P>這是第一個段落。雖然很短,但它仍是一個段落。</P><P>這是第二個段落。</P></BODY></HTML>HTML

文檔開始首部開始標題主體開始1

級標題1132.

常用的HTML標簽P310-311謝(4),P268-黃(1)文件格式<HTML><HEAD>…</HEAD><BODY>…</BODY></HTML>7.3應用層協(xié)議114文件頭<HEAD>…</HEAD>內含<TITLE>…</TITLE>文件體<BODY>…</BODY>7.3應用層協(xié)議115文本格式<H?>…</H?>指明字號<P>…</P>

段落列表無序列表:<UL><LH>…</LH><LI>…<LI>…</UL>7.3應用層協(xié)議116有序列表:<OL><LH>…</LH><LI>…<LI>…</OL>定義列表:<DL><DT>…<DD><DT>…<DD>…</DL>7.3應用層協(xié)議117預排格式<PRE>……</PRE>字型<B>…</B><I>…</I><U>…</U>地址<ADDRESS>…</ADDRESS>7.3應用層協(xié)議118(9)表格<TABLE><CAPTION>…</CAPTION><TR><TH>…<TH>…<TR><TD>…<TD>……<TR><TD>…<TD>…</TABLE>7.3應用層協(xié)議119(10)超鏈(錨點)<A

HREF=url>…</A>(11)圖片<IMG

SRC=“URL”>7.3應用層協(xié)議120兩種不同的鏈接遠程鏈接:超鏈的終點是其他網點上的頁面。本地鏈接:超鏈指向本計算機中的某個文件。7.3應用層協(xié)議121122本文件鏈接舉例Xabc

文件F本文件鏈接的HTML

語句格式:<A

HREF=“#Destination”>

X

</A>本文件鏈接在此處定義命名錨起點終點命名錨的定義語句:<A

NAME=“Destination”>

abc

</A>命名錨的名字命名錨的終點在字符abc

的前面7.3應用層協(xié)議遠程鏈接舉例遠程鏈接:<A

HREF=“http://www.”>

武漢大學</A>武漢大學武漢大學主頁文件F因特網起點終點7.3應用層協(xié)議1234.XML語言(The

Extensible

Markup

Language)與HTML的差別:語法:更嚴格語義:更靈活(自己可以定標簽)XML和HTML為不同的目的而設計:XML被設計用來描述數(shù)據(jù),其焦點是數(shù)據(jù)的內容。HTML被設計用來顯示數(shù)據(jù),其焦點是數(shù)據(jù)的外觀。HTML旨在顯示信息,而XML旨在描述信息。7.3應用層協(xié)議1245.

改善性能Caching

(Client

side)Who

should

do

the

caching?How

long

should

pages

be

cached?Server

replication

(mirroring)CDN

(ContentDelivery

Networks)內容提供網/內容分發(fā)網絡/互聯(lián)網內容發(fā)布網絡How

to

choose

proxies?What

data

should

be

replicated?壓縮7.3應用層協(xié)議1251266.

動態(tài)萬維網文檔靜態(tài)文檔是指該文檔創(chuàng)作完畢后就存放在

萬維網服務器中,在被用戶瀏覽的過程中,內容不會改變。動態(tài)文檔是指文檔的內容是在瀏覽器訪問萬維網服務器時才由應用程序動態(tài)創(chuàng)建。

(.PHP,.ASP,.JSP…)動態(tài)文檔和靜態(tài)文檔之間的主要差別體現(xiàn)在服務器一端。這主要是文檔內容的生成方法不同。而從瀏覽器的角度看,這兩種文檔并沒有區(qū)別。7.3應用層協(xié)議萬維網服務器功能的擴充應增加另一個應用程序,用來處理瀏覽器發(fā)來的數(shù)據(jù),并創(chuàng)建動態(tài)文檔。應增加一個機制,用來使萬維網服務器把瀏覽器發(fā)來的數(shù)據(jù)傳送給這個應用程序,然后萬維網服務器能夠解釋這個應用程序的輸出,并向瀏覽器返回HTML

文檔。7.3應用層協(xié)議127CGI

響應動態(tài)文檔HTTP

響應報文動態(tài)網頁萬維網服務器瀏覽器程序萬維網客戶服務器程序HTTP數(shù)據(jù)庫HTTP

請求報文

請求文檔

CGI

程序創(chuàng)建動態(tài)文檔7.3應用層協(xié)議128(Common

Gateway

Interface)CGI

是一種標準,它定義了動態(tài)文檔應如何創(chuàng)建,輸入數(shù)據(jù)應如何提供給應用程序,以及輸出結果應如何使用。萬維網服務器與CGI

的通信遵循CGI

標準。“通用”:CGI標準所定義的規(guī)則對其他任何語言都是通用的?!熬W關”:CGI

程序的作用像網關?!敖涌凇保河幸恍┮讯x好的變量和調用等可供其他CGI

程序使用。7.3應用層協(xié)議通用網關接口CGI129CGI

程序CGI

程序的正式名字是CGI腳本(script)。“腳本”指的是一個程序,它被另一個程序(解釋程序)而不是計算機的處理機來解釋或執(zhí)行。腳本運行起來要比一般的編譯程序要慢,因為它的每一條指令先要被另一個程序來處理(這就要一些附加的指令),而不是直接被指令處理器來處理。7.3應用層協(xié)議1307.

活動萬維網文檔活動文檔(activedocument)技術把所有的工作都轉移給瀏覽器端。每當瀏覽器請求一個活動文檔時,服務器就返回一段程序副本在瀏覽器端運行?;顒游臋n程序可與用戶直接交互,并可連續(xù)地改變屏幕的顯示。由于活動文檔技術不需要服務器的連續(xù)更新傳送,對網絡帶寬的要求也不會太高。7.3應用層協(xié)議131

響應程序HTTP

響應報文程序活動文檔在客戶端創(chuàng)建萬維網服務器瀏覽器程序萬維網客戶服務器HTTP

程序HTTP

請求報文

請求文檔程序事先被編譯成二進制代碼,存放為文件程序

此程序在客戶端創(chuàng)建出活動文檔文檔7.3應用層協(xié)議132用Java

技術創(chuàng)建活動文檔由美國Sun公司開發(fā)的Java語言是一項用于創(chuàng)建和運行活動文檔的技術。在Java技術中使用“小應用程序”(applet)來描述活動文檔程序(電子白板)。用戶從萬維網服務器下載嵌入了Java小應用程序的HTML文檔后,可在瀏覽器的屏幕上點擊某個圖像,就可看到動畫效果,或在下拉式菜單中點擊某個項目,就可看到計算結果。Java

技術是活動文檔技術的一部分。7.3應用層協(xié)議133Java

技術裝三個主要組成部分程序設計語言。Java包含一個新的程序設計語言,用來編寫傳統(tǒng)的計算機程序和Java

小應用程序。運行(runtime)環(huán)境。這是運行Java

程序所必須的

運行環(huán)境,其中包括Java虛擬機(簡稱為JVM),該軟件定義了Java

二進制代碼的執(zhí)行模型。類庫(classlibrary)。為了更容易編寫Java小應用程序,Java

提供了強大的類庫支持。7.3應用層協(xié)議1347.3應用層協(xié)議創(chuàng)建活動文檔的工具JavaScriptAppletflash…135四、傳輸協(xié)議HTTP重要術語源服務器(originserver):請求或者將要創(chuàng)建的資源所在的服務器。代理服務器(proxy):①代理客戶發(fā)出請求;②代理源服務器應答連接:在兩個應用程序之間建立的TCP連接。Cache:存放被請求過的內容。用戶代理(user

agent):發(fā)出請求的客戶程序。版本第一個版本是HTTP/0.9,1996年:HTTP/1.07.3應用層協(xié)議1361999年:HTTP/1.1工作原理面向事務的客戶/服務器方式HTTP

協(xié)議本身也是無連接的,雖然它使用了面向連接的TCP

向上提供的服務。無狀態(tài),每個事務獨立解決辦法:采用記錄狀態(tài)P272-黃Cookie;Session;DB;AJAX

(Asynchronous

JavaScript

and

XML)7.3應用層協(xié)議137在服務器上存放用戶的信息萬維網站點使用Cookie

來跟蹤用戶。Cookie

表示在HTTP

服務器和客戶之間傳遞的狀態(tài)信息。使用Cookie的網站服務器為用戶產生一個唯一的識別碼。利用此識別碼,網站就能夠跟蹤該用戶在該網站的活動。7.3應用層協(xié)議1384. HTTP

的操作過程每個萬維網網點都有一個服務器進程,它不斷 地監(jiān)聽TCP的端口80,以便發(fā)現(xiàn)是否有瀏覽器

(即客戶進程)向它發(fā)出連接請求。一旦監(jiān)聽到連接建立請求并建立了TCP連接之

后,瀏覽器就向服務器發(fā)出瀏覽某個頁面的請 求,服務器接著就返回所請求的頁面作為響應。TCP連接就被釋放了。7.3應用層協(xié)議139140萬維網的工作過程因特網服務器鏈接到URL的超鏈HTTP

使用此TCP

連接瀏覽器程序服務器程序HTTP客戶武漢大學院系設置建立TCP

連接釋放TCP

連接HTTP

響應報文

響應文檔HTTP

請求報文

請求文檔141用戶點擊鼠標后瀏覽器與服務器之間超鏈過程:瀏覽器分析超鏈指向頁面的URL。瀏覽器向DNS請求解析的IP地址。域名系統(tǒng)DNS解析出武漢大學主頁的IP地址為0。瀏覽器與服務器建立TCP連接(在服務器端IP地址是0,端口是80)。瀏覽器發(fā)出取文件命令:GET

/index.htm

。服務器給出響應,將文件index.htm發(fā)送給瀏覽器。TCP連接釋放。瀏覽器顯示“武漢大學主頁”文件index.htm中的所有文本。7.3應用層協(xié)議142RTTRTT請求一個萬維網文檔所需的時間萬維網服務器萬維網客戶發(fā)起TCP

連接HTTP

請求報文傳輸文檔的時間整個文檔收到時間時間7.3應用層協(xié)議143持續(xù)連接(persistent

connection)HTTP/1.1

協(xié)議使用持續(xù)連接。萬維網服務器在發(fā)送響應后仍然在一段時間內保持這條連接,使同一個客戶(瀏覽器)和該服務器可以繼續(xù)在這條連接上傳送后續(xù)的HTTP

請求報文和響應報文。這并不局限于傳送同一個頁面上鏈接的文檔,而是只要這些文檔都在同一個服務器上就行。目前一些流行的瀏覽器(例如,IE6.0)的默認設置就是使用HTTP/1.1。7.3應用層協(xié)議144代理服務器(proxyserver)代理服務器(proxy

server)又稱為萬維網高速緩存(Webcache),它代表瀏覽器發(fā)出HTTP請求。萬維網高速緩存把最近的一些請求和響應暫存在本地磁盤中。當與暫時存放的請求相同的新請求到達時,萬維網高速緩存就把暫存的響應發(fā)送出去,而不需要按URL

的地址再去因特網訪問該資源。7.3應用層協(xié)議145校園網源點服務器2

Mb/s瀏覽器R1R2這條鏈路上的時延很大沒有使用高速緩存的情況因特網所有萬維網通信量都經過這條鏈路7.3應用層協(xié)議使用高速緩存可減少

訪問因特網服務器的時延2

Mb/s因特網瀏覽器R1R2使用高速緩存的情況(1)瀏覽器訪問因特網的服務器時,要先與校園網的高速緩存建立TCP

連接,并向高速緩存發(fā)出HTTP請求報文源點服務器校園網7.3應用層協(xié)議校園網的高速緩存(代理服務器)146校園網源點服務器2

Mb/s因特網瀏覽器R1R2(2)若高速緩存已經存放了所請求的對象,則將此對象放入HTTP

響應報文中返回給瀏覽器。7.3應用層協(xié)議使用高速緩存的情況校園網的高速緩存(代理服務器)1472

Mb/s因特網瀏覽器R1R2(3)否則,高速緩存就代表發(fā)出請求的用戶瀏覽器,與因特網上的源點服務器建立TCP

連接,并發(fā)送

HTTP

請求報文。源點服務器校園網7.3應用層協(xié)議使用高速緩存的情況校園網的高速緩存(代理服務器)1482

Mb/s因特網瀏覽器R1R2(4)源點服務器將所請求的對象放在HTTP響應報文中返回給校園網的高速緩存。源點服務器校園網7.3應用層協(xié)議使用高速緩存的情況校園網的高速緩存(代理服務器)1492

Mb/s因特網瀏覽器R1R2(5)高速緩存收到此對象后,先復制在其本地存儲器中(為今后使用),然后再將該對象放在HTTP響應報文中,通過已建立的TCP連接,返回給請求該對象的瀏覽器。源點服務器校園網7.3應用層協(xié)議使用高速緩存的情況校園網的高速緩存(代理服務器)1505.

報文格式①請求報文格式請求行:報文類型及被請求的資源通用首部:請求和響應公用的字段請求首部:請求及客戶的信息實體首部:資源信息實體主體:報文主體7.3應用層協(xié)議151HTTP

的報文結構(請求報文)方

法URL版

本首部字段名首部行:值首部字段名值:…實體主體(通常不用)請求行空格 回車換行:CRLFCRLFCRLFCRLF報文由三個部分組成,即開始行、首部行和實體主體。在請求報文中,開始行就是請求行。開始行152153HTTP

的報文結構(請求報文)方

法URL版

本首部字段名首部行:值首部字段名值:…實體主體(通常不用)請求行空格 回車換行:CRLFCRLFCRLFCRLF“方法”是面向對象技術中使用的專門名詞。所謂“方法”就是對所請求的對象進行的操作,因此這些方法實際上也就是一些命令。因此,請求報文的類型是由它所采用的方法決定的。HTTP

請求報文的一些方法方法(操作) 意義OPTIONGETHEADPOSTPUTDELETETRACECONNECT請求一些選項的信息請求讀取由URL所標志的信息請求讀取由URL所標志的信息的首部給服務器添加信息(例如,注釋)在指明的URL下存儲一個文檔刪除指明的URL所標志的資源用來進行環(huán)回測試的請求報文用于代理服務器6.5 萬維網WWW154HTTP

的報文結構(請求報文)方

溫馨提示

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

評論

0/150

提交評論