版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
應(yīng)用層1
域名系統(tǒng)
DNS
1.1
域名系統(tǒng)概述
1.2
因特網(wǎng)的域名結(jié)構(gòu)
1.3
域名服務(wù)器2
文件傳送協(xié)議2.1
FTP
概述2.2
FTP
的基本工作原理2.3
簡單文件傳送協(xié)議
TFTP應(yīng)用層(續(xù))3
遠(yuǎn)程終端協(xié)議
TELNET4
萬維網(wǎng)
WWW4.1
概述4.2
統(tǒng)一資源定位符
URL4.3
超文本傳送協(xié)議
HTTP4.4
萬維網(wǎng)的文檔4.5
萬維網(wǎng)的信息檢索系統(tǒng)應(yīng)用層(續(xù))5
電子郵件5.1
電子郵件概述5.2
簡單郵件傳送協(xié)議
SMTP5.3
電子郵件的信息格式5.4
郵件讀取協(xié)議
POP3
和
IMAP5.5
基于萬維網(wǎng)的電子郵件5.6
通用因特網(wǎng)郵件擴(kuò)充
MIME應(yīng)用層(續(xù))6
動態(tài)主機(jī)配置協(xié)議
DHCP7
簡單網(wǎng)絡(luò)管理協(xié)議
SNMP7.1
網(wǎng)絡(luò)管理的基本概念7.2
管理信息結(jié)構(gòu)
SMI7.3
管理信息庫
MIB7.4
SNMP
的協(xié)議數(shù)據(jù)單元和報文8
應(yīng)用進(jìn)程跨越網(wǎng)絡(luò)的通信
8.1
系統(tǒng)調(diào)用和應(yīng)用編程接口
8.2
幾種常用的系統(tǒng)調(diào)用應(yīng)用層協(xié)議的特點每個應(yīng)用層協(xié)議都是為了解決某一類應(yīng)用問題,而問題的解決又往往是通過位于不同主機(jī)中的多個應(yīng)用進(jìn)程之間的通信和協(xié)同工作來完成的。應(yīng)用層的具體內(nèi)容就是規(guī)定應(yīng)用進(jìn)程在通信時所遵循的協(xié)議。應(yīng)用層的許多協(xié)議都是基于客戶服務(wù)器方式??蛻?client)和服務(wù)器(server)都是指通信中所涉及的兩個應(yīng)用進(jìn)程??蛻舴?wù)器方式所描述的是進(jìn)程之間服務(wù)和被服務(wù)的關(guān)系??蛻羰欠?wù)請求方,服務(wù)器是服務(wù)提供方。1
域名系統(tǒng)
DNS
1.1
域名系統(tǒng)概述許多應(yīng)用層軟件經(jīng)常直接使用域名系統(tǒng)
DNS(Domain
Name
System),但計算機(jī)的用戶只是間接而不是直接使用域名系統(tǒng)。因特網(wǎng)采用層次結(jié)構(gòu)的命名樹作為主機(jī)的名字,并使用分布式的域名系統(tǒng)
DNS。名字到
IP地址的解析是由若干個域名服務(wù)器程序完成的。域名服務(wù)器程序在專設(shè)的結(jié)點上運行,運行該程序的機(jī)器稱為域名服務(wù)器。1.2
因特網(wǎng)的域名結(jié)構(gòu)因特網(wǎng)采用了層次樹狀結(jié)構(gòu)的命名方法。任何一個連接在因特網(wǎng)上的主機(jī)或路由器,都有一個唯一的層次結(jié)構(gòu)的名字,即域名。域名的結(jié)構(gòu)由標(biāo)號序列組成,各標(biāo)號之間用點隔開:
…
.
三級域名
.
二級域名
.
頂級域名各標(biāo)號分別代表不同級別的域名。域名只是個邏輯概念域名只是個邏輯概念,并不代表計算機(jī)所在的物理地點。變長的域名和使用有助記憶的字符串,是為了便于人來使用。而
IP
地址是定長的
32
位二進(jìn)制數(shù)字則非常便于機(jī)器進(jìn)行處理。域名中的“點”和點分十進(jìn)制
IP
地址中的“點”并無一一對應(yīng)的關(guān)系。點分十進(jìn)制
IP地址中一定是包含三個“點”,但每一個域名中“點”的數(shù)目則不一定正好是三個。
頂級域名
TLD
(Top
Level
Domain)(1)
國家頂級域名
nTLD:如:
.cn
表示中
國,.us
表示美國,.uk
表示英國,等等。(2)
通用頂級域名
gTLD:最早的頂級域名是:
.com
(公司和企業(yè))
.net
(網(wǎng)絡(luò)服務(wù)機(jī)構(gòu))
.org
(非贏利性組織)
.edu
(美國專用的教育機(jī)構(gòu)()
.gov
(美國專用的政府部門)
.mil
(美國專用的軍事部門).int(國際組織)頂級域名
TLD
(續(xù))(3)
基礎(chǔ)結(jié)構(gòu)域名(infrastructure
domain):
這種頂級域名只有一個,即
arpa,用于反
向域名解析,因此又稱為反向域名。新增加了下列的通用頂級域名.aero
(航空運輸企業(yè)).biz
(公司和企業(yè)).cat
(加泰隆人的語言和文化團(tuán)體).coop
(合作團(tuán)體).info
(各種情況).jobs
(人力資源管理者).mobi
(移動產(chǎn)品與服務(wù)的用戶和提供者).museum
(博物館).name
(個人).pro
(有證書的專業(yè)人員).travel
(旅游業(yè))因特網(wǎng)的域名空間
根mailbjcom…educctv…
ibmhp二級域名pkutsinghua
…
…www三級域名四級域名mail…
wwwnetorgedugovaerouk…頂級域名…
com…
cn1.3
域名服務(wù)器一個服務(wù)器所負(fù)責(zé)管轄的(或有權(quán)限的)范圍叫做區(qū)(zone)。各單位根據(jù)具體情況來劃分自己管轄范圍的區(qū)。但在一個區(qū)中的所有節(jié)點必須是能夠連通的。每一個區(qū)設(shè)置相應(yīng)的權(quán)限域名服務(wù)器,用來保存該區(qū)中的所有主機(jī)的域名到IP地址的映射。DNS
服務(wù)器的管轄范圍不是以“域”為單位,而是以“區(qū)”為單位。區(qū)的不同劃分方法舉例uvwty(a)
區(qū)
=
域(b)
區(qū)
<
域uvwtcom
abc
edu
區(qū)
y
org
域
區(qū)
x根com
abcedu
org
域
區(qū)
x根樹狀結(jié)構(gòu)的
DNS
域名服務(wù)器根域名服務(wù)器org
域名服務(wù)器com
域名服務(wù)器edu
域名服務(wù)器…abc
公司有兩個權(quán)限域名服務(wù)器權(quán)限域名服務(wù)器根域名服務(wù)器頂級域名服務(wù)器
域名服務(wù)器
域名服務(wù)器域名服務(wù)器有以下四種類型根域名服務(wù)器頂級域名服務(wù)器權(quán)限域名服務(wù)器本地域名服務(wù)器
根域名服務(wù)器——最高層次的域名服務(wù)器——根域名服務(wù)器是最重要的域名服務(wù)器。所有的根域名服務(wù)器都知道所有的頂級域名服務(wù)器的域名和
IP
地址。不管是哪一個本地域名服務(wù)器,若要對因特網(wǎng)上任何一個域名進(jìn)行解析,只要自己無法解析,就首先求助于根域名服務(wù)器。在因特網(wǎng)上共有13
個不同
IP
地址的根域名服務(wù)器,它們的名字是用一個英文字母命名,從a
一直到
m(前13
個字母)。根域名服務(wù)器共有
13
套裝置
(不是
13
個機(jī)器)這些根域名服務(wù)器相應(yīng)的域名分別是
…
到
2006
年底全世界已經(jīng)安裝了一百多個根域名服務(wù)器機(jī)器,分布在世界各地。這樣做的目的是為了方便用戶,使世界上大部分
DNS
域名服務(wù)器都能就近找到一個根域名服務(wù)器。舉例:根域名服務(wù)器
f
的地點分布圖?
根域名服務(wù)器并不直接把域名直接轉(zhuǎn)換成
IP
地址。?
在使用迭代查詢時,根域名服務(wù)器把下一步應(yīng)當(dāng)找
的頂級域名服務(wù)器的
IP
地址告訴本地域名服務(wù)器。共
40
個機(jī)器頂級域名服務(wù)器
(即
TLD
服務(wù)器)這些域名服務(wù)器負(fù)責(zé)管理在該頂級域名服務(wù)器注冊的所有二級域名。當(dāng)收到
DNS
查詢請求時,就給出相應(yīng)的回答(可能是最后的結(jié)果,也可能是下一步應(yīng)當(dāng)找的域名服務(wù)器的
IP
地址)。權(quán)限域名服務(wù)器這就是前面已經(jīng)講過的負(fù)責(zé)一個區(qū)的域名服務(wù)器。當(dāng)一個權(quán)限域名服務(wù)器還不能給出最后的查詢回答時,就會告訴發(fā)出查詢請求的
DNS
客戶,下一步應(yīng)當(dāng)找哪一個權(quán)限域名服務(wù)器。本地域名服務(wù)器本地域名服務(wù)器對域名系統(tǒng)非常重要。當(dāng)一個主機(jī)發(fā)出
DNS
查詢請求時,這個查詢請求報文就發(fā)送給本地域名服務(wù)器。每一個因特網(wǎng)服務(wù)提供者
ISP,或一個大學(xué),甚至一個大學(xué)里的系,都可以擁有一個本地域名服務(wù)器,這種域名服務(wù)器有時也稱為默認(rèn)域名服務(wù)器。提高域名服務(wù)器的可靠性DNS
域名服務(wù)器都把數(shù)據(jù)復(fù)制到幾個域名服務(wù)器來保存,其中的一個是主域名服務(wù)器,其他的是輔助域名服務(wù)器。當(dāng)主域名服務(wù)器出故障時,輔助域名服務(wù)器可以保證
DNS
的查詢工作不會中斷。主域名服務(wù)器定期把數(shù)據(jù)復(fù)制到輔助域名服務(wù)器中,而更改數(shù)據(jù)只能在主域名服務(wù)器中進(jìn)行。這樣就保證了數(shù)據(jù)的一致性。域名的解析過程主機(jī)向本地域名服務(wù)器的查詢一般都是采用遞歸查詢。如果主機(jī)所詢問的本地域名服務(wù)器不知道被查詢域名的
IP
地址,那么本地域名服務(wù)器就以
DNS
客戶的身份,向其他根域名服務(wù)器繼續(xù)發(fā)出查詢請求報文。本地域名服務(wù)器向根域名服務(wù)器的查詢通常是采用迭代查詢。當(dāng)根域名服務(wù)器收到本地域名服務(wù)器的迭代查詢請求報文時,要么給出所要查詢的
IP
地址,要么告訴本地域名服務(wù)器:“你下一步應(yīng)當(dāng)向哪一個域名服務(wù)器進(jìn)行查詢”。然后讓本地域名服務(wù)器進(jìn)行后續(xù)的查詢。本地域名服務(wù)器采用迭代查詢頂級域名服務(wù)器
權(quán)限域名服務(wù)
本地域名服務(wù)器
根域名服務(wù)器
迭代查詢
的
IP
地址遞歸查詢
需要查找
的
IP
地址本地域名服務(wù)器采用遞歸查詢
(比較少用)頂級域名服務(wù)器
權(quán)限域名服務(wù)
根域名服務(wù)器
遞歸查詢
本地域名服務(wù)器
遞歸
查詢
的
IP
地址
需要查找
的
IP
地址名字的高速緩存每個域名服務(wù)器都維護(hù)一個高速緩存,存放最近用過的名字以及從何處獲得名字映射信息的記錄。可大大減輕根域名服務(wù)器的負(fù)荷,使因特網(wǎng)上的
DNS查詢請求和回答報文的數(shù)量大為減少。為保持高速緩存中的內(nèi)容正確,域名服務(wù)器應(yīng)為每項內(nèi)容設(shè)置計時器,并處理超過合理時間的項(例如,每個項目只存放兩天)。當(dāng)權(quán)限域名服務(wù)器回答一個查詢請求時,在響應(yīng)中都指明綁定有效存在的時間值。增加此時間值可減少網(wǎng)絡(luò)開銷,而減少此時間值可提高域名轉(zhuǎn)換的準(zhǔn)確性。2
文件傳送協(xié)議
2.1
FTP概述文件傳送協(xié)議
FTP
(File
Transfer
Protocol)
是因特網(wǎng)上使用得最廣泛的文件傳送協(xié)議。FTP
提供交互式的訪問,允許客戶指明文件的類型與格式,并允許文件具有存取權(quán)限。FTP
屏蔽了各計算機(jī)系統(tǒng)的細(xì)節(jié),因而適合于在異構(gòu)網(wǎng)絡(luò)中任意計算機(jī)之間傳送文件。RFC
959
很早就成為了因特網(wǎng)的正式標(biāo)準(zhǔn)。文件傳送并非很簡單的問題網(wǎng)絡(luò)環(huán)境中的一項基本應(yīng)用就是將文件從一臺計算機(jī)中復(fù)制到另一臺可能相距很遠(yuǎn)的計算機(jī)中。初看起來,在兩個主機(jī)之間傳送文件是很簡單的事情。其實這往往非常困難。原因是眾多的計算機(jī)廠商研制出的文件系統(tǒng)多達(dá)數(shù)百種,且差別很大。2.2
FTP
的基本工作原理網(wǎng)絡(luò)環(huán)境下復(fù)制文件的復(fù)雜性:(1)
計算機(jī)存儲數(shù)據(jù)的格式不同。(2)
文件的目錄結(jié)構(gòu)和文件命名的規(guī)定不同。(3)
對于相同的文件存取功能,操作系統(tǒng)使用的命令不同。(4)
訪問控制方法不同。FTP
特點文件傳送協(xié)議
FTP
只提供文件傳送的一些基本的服務(wù),它使用
TCP
可靠的運輸服務(wù)。FTP
的主要功能是減少或消除在不同操作系統(tǒng)下處理文件的不兼容性。FTP
使用客戶服務(wù)器方式。一個
FTP
服務(wù)器進(jìn)程可同時為多個客戶進(jìn)程提供服務(wù)。FTP
的服務(wù)器進(jìn)程由兩大部分組成:一個主進(jìn)程,負(fù)責(zé)接受新的請求;另外有若干個從屬進(jìn)程,負(fù)責(zé)處理單個請求。主進(jìn)程的工作步驟如下打開熟知端口(端口號為
21),使客戶進(jìn)程能夠連接上。等待客戶進(jìn)程發(fā)出連接請求。啟動從屬進(jìn)程來處理客戶進(jìn)程發(fā)來的請求。從屬進(jìn)程對客戶進(jìn)程的請求處理完畢后即終止,但從屬進(jìn)程在運行期間根據(jù)需要還可能創(chuàng)建其他一些子進(jìn)程?;氐降却隣顟B(tài),繼續(xù)接受其他客戶進(jìn)程發(fā)來的請求。主進(jìn)程與從屬進(jìn)程的處理是并發(fā)地進(jìn)行。兩個連接控制連接在整個會話期間一直保持打開,F(xiàn)TP
客戶發(fā)出的傳送請求通過控制連接發(fā)送給服務(wù)器端的控制進(jìn)程,但控制連接不用來傳送文件。實際用于傳輸文件的是“數(shù)據(jù)連接”。服務(wù)器端的控制進(jìn)程在接收到
FTP
客戶發(fā)送來的文件傳輸請求后就創(chuàng)建“數(shù)據(jù)傳送進(jìn)程”和“數(shù)據(jù)連接”,用來連接客戶端和服務(wù)器端的數(shù)據(jù)傳送進(jìn)程。數(shù)據(jù)傳送進(jìn)程實際完成文件的傳送,在傳送完畢后關(guān)閉“數(shù)據(jù)傳送連接”并結(jié)束運行。FTP
使用的兩個
TCP
連接TCP
控制連接
因特網(wǎng)TCP
數(shù)據(jù)連接用戶界面
控制進(jìn)程
數(shù)據(jù)傳送
進(jìn)程FTP
客戶端
控制進(jìn)程
數(shù)據(jù)傳送
進(jìn)程FTP
服務(wù)器端
當(dāng)客戶進(jìn)程向服務(wù)器進(jìn)程發(fā)出建立連接請求時,要尋找連接服務(wù)器進(jìn)程的熟知端口(21),同時還要告訴服務(wù)器進(jìn)程自己的另一個端口號碼,用于建立數(shù)據(jù)傳送連接。接著,服務(wù)器進(jìn)程用自己傳送數(shù)據(jù)的熟知端口(20)與客戶進(jìn)程所提供的端口號碼建立數(shù)據(jù)傳送連接。由于FTP使用了兩個不同的端口號,所以數(shù)據(jù)連接與控制連接不會發(fā)生混亂。兩個不同的端口號使協(xié)議更加簡單和更容易實現(xiàn)。在傳輸文件時還可以利用控制連接(例如,客戶發(fā)送請求終止傳輸)。使用兩個不同端口號的好處NFS
采用另一種思路NFS
允許應(yīng)用進(jìn)程打開一個遠(yuǎn)地文件,并能在該文件的某一個特定的位置上開始讀寫數(shù)據(jù)。NFS
可使用戶只復(fù)制一個大文件中的一個很小的片段,而不需要復(fù)制整個大文件。對于上述例子,計算機(jī)
A
的
NFS
客戶軟件,把要添加的數(shù)據(jù)和在文件后面寫數(shù)據(jù)的請求一起發(fā)送到遠(yuǎn)地的計算機(jī)
B
的
NFS
服務(wù)器。NFS
服務(wù)器更新文件后返回應(yīng)答信息。在網(wǎng)絡(luò)上傳送的只是少量的修改數(shù)據(jù)。2.3
簡單文件傳送協(xié)議
TFTP
(Trivial
File
Transfer
Protocol)TFTP
是一個很小且易于實現(xiàn)的文件傳送協(xié)議。TFTP
使用客戶服務(wù)器方式和使用
UDP
數(shù)據(jù)報,因此
TFTP
需要有自己的差錯改正措施。TFTP
只支持文件傳輸而不支持交互。TFTP
沒有一個龐大的命令集,沒有列目錄的功能,也不能對用戶進(jìn)行身份鑒別。TFTP
的主要特點是(1)
每次傳送的數(shù)據(jù)
PDU
中有
512
字節(jié)的數(shù)據(jù),但最后一次可不足
512
字節(jié)。(2)
數(shù)據(jù)
PDU
也稱為文件塊(block),每個塊按序編號,從
1
開始。(3)
支持
ASCII
碼或二進(jìn)制傳送。(4)
可對文件進(jìn)行讀或?qū)憽?5)
使用很簡單的首部。TFTP
的工作很像停止等待協(xié)議發(fā)送完一個文件塊后就等待對方的確認(rèn),確認(rèn)時應(yīng)指明所確認(rèn)的塊編號。發(fā)完數(shù)據(jù)后在規(guī)定時間內(nèi)收不到確認(rèn)就要重發(fā)數(shù)據(jù)
PDU。發(fā)送確認(rèn)
PDU
的一方若在規(guī)定時間內(nèi)收不到下一個文件塊,也要重發(fā)確認(rèn)
PDU。這樣就可保證文件的傳送不致因某一個數(shù)據(jù)報的丟失而告失敗。TFTP
的工作很像停止等待協(xié)議在一開始工作時。TFTP
客戶進(jìn)程發(fā)送一個讀請求PDU
或?qū)懻埱?/p>
PDU
給
TFTP
服務(wù)器進(jìn)程,其熟知端口號碼為
69。TFTP
服務(wù)器進(jìn)程要選擇一個新的端口和
TFTP
客戶進(jìn)程進(jìn)行通信。若文件長度恰好為
512
字節(jié)的整數(shù)倍,則在文件傳送完畢后,還必須在最后發(fā)送一個只含首部而無數(shù)據(jù)的數(shù)據(jù)
PDU。若文件長度不是
512
字節(jié)的整數(shù)倍,則最后傳送數(shù)據(jù)
PDU
的數(shù)據(jù)字段一定不滿512字節(jié),這正好可作為文件結(jié)束的標(biāo)志。3
按遠(yuǎn)程終端協(xié)議
TELNETTELNET
是一個簡單的遠(yuǎn)程終端協(xié)議,也是因特網(wǎng)的正式標(biāo)準(zhǔn)。用戶用
TELNET
就可在其所在地通過
TCP
連接注冊(即登錄)到遠(yuǎn)地的另一個主機(jī)上(使用主機(jī)名或
IP
地址)。TELNET
能將用戶的擊鍵傳到遠(yuǎn)地主機(jī),同時也能將遠(yuǎn)地主機(jī)的輸出通過
TCP
連接返回到用戶屏幕。這種服務(wù)是透明的,因為用戶感覺到好像鍵盤和顯示器是直接連在遠(yuǎn)地主機(jī)上??蛻舴?wù)器方式現(xiàn)在由于
PC
機(jī)的功能越來越強,用戶已較少使用
TELNET
了。TELNET
也使用客戶服務(wù)器方式。在本地系統(tǒng)運行
TELNET
客戶進(jìn)程,而在遠(yuǎn)地主機(jī)則運行
TELNET
服務(wù)器進(jìn)程。和
FTP
的情況相似,服務(wù)器中的主進(jìn)程等待新的請求,并產(chǎn)生從屬進(jìn)程來處理每一個連接。
TELNET
使用網(wǎng)絡(luò)虛擬終端
NVT
格式
因特網(wǎng)
TCP
連接使用
NVT
格式
客戶端
客戶使用客戶端的格式
服務(wù)器端
服務(wù)器使用服務(wù)器端的格式網(wǎng)絡(luò)虛擬終端
NVT
格式客戶軟件把用戶的擊鍵和命令轉(zhuǎn)換成
NVT格式,并送交服務(wù)器。服務(wù)器軟件把收到的數(shù)據(jù)和命令,從
NVT格式轉(zhuǎn)換成遠(yuǎn)地系統(tǒng)所需的格式。向用戶返回數(shù)據(jù)時,服務(wù)器把遠(yuǎn)地系統(tǒng)的格式轉(zhuǎn)換為
NVT
格式,本地客戶再從NVT
格式轉(zhuǎn)換到本地系統(tǒng)所需的格式。4
萬維網(wǎng)
WWW
4.1
萬維網(wǎng)概述萬維網(wǎng)
WWW
(World
Wide
Web)并非某種特殊的計算機(jī)網(wǎng)絡(luò)。萬維網(wǎng)是一個大規(guī)模的、聯(lián)機(jī)式的信息儲藏所。萬維網(wǎng)用鏈接的方法能非常方便地從因特網(wǎng)上的一個站點訪問另一個站點,從而主動地按需獲取豐富的信息。這種訪問方式稱為“鏈接”。萬維網(wǎng)提供分布式服務(wù)萬維網(wǎng)站點
A萬維網(wǎng)站點
C萬維網(wǎng)站點
E萬維網(wǎng)站點
D萬維網(wǎng)站點
B
超媒體與超文本萬維網(wǎng)是分布式超媒體(hypermedia)系統(tǒng),它是超文本(hypertext)系統(tǒng)的擴(kuò)充。一個超文本由多個信息源鏈接成。利用一個鏈接可使用戶找到另一個文檔。這些文檔可以位于世界上任何一個接在因特網(wǎng)上的超文本系統(tǒng)中。超文本是萬維網(wǎng)的基礎(chǔ)。超媒體與超文本的區(qū)別是文檔內(nèi)容不同。超文本文檔僅包含文本信息,而超媒體文檔還包含其他表示方式的信息,如圖形、圖像、聲音、動畫,甚至活動視頻圖像。萬維網(wǎng)的工作方式萬維網(wǎng)以客戶服務(wù)器方式工作。瀏覽器就是在用戶計算機(jī)上的萬維網(wǎng)客戶程序。萬維網(wǎng)文檔所駐留的計算機(jī)則運行服務(wù)器程序,因此這個計算機(jī)也稱為萬維網(wǎng)服務(wù)器??蛻舫绦蛳蚍?wù)器程序發(fā)出請求,服務(wù)器程序向客戶程序送回客戶所要的萬維網(wǎng)文檔。在一個客戶程序主窗口上顯示出的萬維網(wǎng)文檔稱為頁面(page)。萬維網(wǎng)必須解決的問題(1)
怎樣標(biāo)志分布在整個因特網(wǎng)上的萬維網(wǎng)文檔?
使用統(tǒng)一資源定位符
URL
(Uniform
ResourceLocator)來標(biāo)志萬維網(wǎng)上的各種文檔。
使每一個文檔在整個因特網(wǎng)的范圍內(nèi)具有唯一的標(biāo)識符
URL。
萬維網(wǎng)必須解決的問題(2)
用何協(xié)議實現(xiàn)萬維網(wǎng)上各種超鏈的鏈接?在萬維網(wǎng)客戶程序與萬維網(wǎng)服務(wù)器程序之間進(jìn)行交互所使用的協(xié)議,是超文本傳送協(xié)議HTTP
(HyperText
Transfer
Protocol)。HTTP
是一個應(yīng)用層協(xié)議,它使用
TCP
連接進(jìn)行可靠的傳送。萬維網(wǎng)必須解決的問題(3)
怎樣使各種萬維網(wǎng)文檔都能在因特網(wǎng)上的各
種計算機(jī)上顯示出來,同時使用戶清楚地知
道在什么地方存在著超鏈?
超文本標(biāo)記語言
HTML
(HyperText
Markup
Language)使得萬維網(wǎng)頁面的設(shè)計者可以很
方便地用一個超鏈從本頁面的某處鏈接到因
特網(wǎng)上的任何一個萬維網(wǎng)頁面,并且能夠在
自己的計算機(jī)屏幕上將這些頁面顯示出來。萬維網(wǎng)必須解決的問題(4)
怎樣使用戶能夠很方便地找到所需的信息?
為了在萬維網(wǎng)上方便地查找信息,用戶可使用各種的搜索工具(即搜索引擎)。4.2
統(tǒng)一資源定位符
URL
1.
URL的格式統(tǒng)一資源定位符
URL
是對可以從因特網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示。URL
給資源的位置提供一種抽象的識別方法,并用這種方法給資源定位。只要能夠?qū)Y源定位,系統(tǒng)就可以對資源進(jìn)行各種操作,如存取、更新、替換和查找其屬性。URL
相當(dāng)于一個文件名在網(wǎng)絡(luò)范圍的擴(kuò)展。因此URL
是與因特網(wǎng)相連的機(jī)器上的任何可訪問對象的一個指針。URL
的一般形式由以冒號隔開的兩大部分組成,并且在
URL中的字符對大寫或小寫沒有要求。URL
的一般形式是:
<協(xié)議>://<主機(jī)>:<端口>/<路徑>
ftp
——
文件傳送協(xié)議
FTP
http
——
超文本傳送協(xié)議
HTTP
News
——
USENET
新聞URL
的一般形式(續(xù))由以冒號隔開的兩大部分組成,并且在
URL中的字符對大寫或小寫沒有要求。URL
的一般形式是:
<協(xié)議>://<主機(jī)>:<端口>/<路徑>
<主機(jī)>
是存放資源的主機(jī)
在因特網(wǎng)中的域名URL
的一般形式(續(xù))由以冒號隔開的兩大部分組成,并且在
URL中的字符對大寫或小寫沒有要求。URL
的一般形式是:
<協(xié)議>://<主機(jī)>:<端口>/<路徑>
有時可省略使用
HTTP
的
URL使用
HTTP
的
URL
的一般形式
http://<主機(jī)>:<端口>/<路徑>這表示使用
HTTP
協(xié)議使用
HTTP
的
URL使用
HTTP
的
URL
的一般形式
http://<主機(jī)>:<端口>/<路徑>冒號和兩個斜線是規(guī)定的格式使用
HTTP
的
URL使用
HTTP
的
URL
的一般形式
http://<主機(jī)>:<端口>/<路徑>
這里寫主機(jī)的域名使用
HTTP
的
URL使用
HTTP
的
URL
的一般形式
http://<主機(jī)>:<端口>/<路徑>
HTTP
的默認(rèn)端口號是
80,通常可省略使用
HTTP
的
URL使用
HTTP
的
URL
的一般形式
http://<主機(jī)>:<端口>/<路徑>
若再省略文件的<路徑>項,則
URL
就指到
因特網(wǎng)上的某個主頁(home
page)。4.3
超文本傳送協(xié)議
HTTP
1.
HTTP
的操作過程為了使超文本的鏈接能夠高效率地完成,需要用
HTTP
協(xié)議來傳送一切必須的信息。從層次的角度看,HTTP
是面向事務(wù)的(transaction-oriented)應(yīng)用層協(xié)議,它是萬維網(wǎng)上能夠可靠地交換文件(包括文本、聲音、圖像等各種多媒體文件)的重要基礎(chǔ)。萬維網(wǎng)的工作過程
服務(wù)器鏈接到URL的超鏈
客戶清華大學(xué)院系設(shè)置瀏覽器
服務(wù)器
程序
程序
HTTP
HTTP
使用此
TCP
連接
因特網(wǎng)
建立
TCP
連接
響應(yīng)文檔
HTTP
請求報文
HTTP
響應(yīng)報文釋放
TCP
連接
請求文檔用戶點擊鼠標(biāo)后所發(fā)生的事件(1)
瀏覽器分析超鏈指向頁面的
URL。(2)
瀏覽器向
DNS
請求解析
的IP
地址。(3)
域名系統(tǒng)
DNS
解析出清華大學(xué)服務(wù)器的
IP
地址。(4)
瀏覽器與服務(wù)器建立
TCP
連接(5)
瀏覽器發(fā)出取文件命令:
GET
/chn/yxsz/index.htm。(6)
服務(wù)器給出響應(yīng),把文件
index.htm
發(fā)給瀏覽器。(7)
TCP
連接釋放。(8)
瀏覽器顯示“清華大學(xué)院系設(shè)置”文件
index.htm中的所有文本。HTTP
的主要特點HTTP
是面向事務(wù)的客戶服務(wù)器協(xié)議。HTTP
1.0
協(xié)議是無狀態(tài)的(stateless)。HTTP
協(xié)議本身也是無連接的,雖然它使用了面向連接的
TCP
向上提供的服務(wù)。請求一個萬維網(wǎng)文檔所需的時間
萬維網(wǎng)客戶發(fā)起
TCP
連接
RTT
HTTP
請求報文
RTT
整個文檔收到
時間萬維網(wǎng)服務(wù)器
傳輸文檔的時間
時間
持續(xù)連接(persistent
connection)HTTP/1.1
協(xié)議使用持續(xù)連接。萬維網(wǎng)服務(wù)器在發(fā)送響應(yīng)后仍然在一段時間內(nèi)保持這條連接,使同一個客戶(瀏覽器)和該服務(wù)器可以繼續(xù)在這條連接上傳送后續(xù)的HTTP
請求報文和響應(yīng)報文。這并不局限于傳送同一個頁面上鏈接的文檔,而是只要這些文檔都在同一個服務(wù)器上就行。目前一些流行的瀏覽器(例如,IE
0)的默認(rèn)設(shè)置就是使用
HTTP/1.1。持續(xù)連接的兩種工作方式非流水線方式:客戶在收到前一個響應(yīng)后才能發(fā)出下一個請求。這比非持續(xù)連接的兩倍
RTT的開銷節(jié)省了建立
TCP
連接所需的一個
RTT時間。但服務(wù)器在發(fā)送完一個對象后,其
TCP連接就處于空閑狀態(tài),浪費了服務(wù)器資源。流水線方式:客戶在收到
HTTP
的響應(yīng)報文之前就能夠接著發(fā)送新的請求報文。一個接一個的請求報文到達(dá)服務(wù)器后,服務(wù)器就可連續(xù)發(fā)回響應(yīng)報文。使用流水線方式時,客戶訪問所有的對象只需花費一個
RTT時間,使
TCP
連接中的空閑時間減少,提高了下載文檔效率。
代理服務(wù)器(proxy
server)代理服務(wù)器(proxy
server)又稱為萬維網(wǎng)高速緩存(Web
cache),它代表瀏覽器發(fā)出
HTTP
請求。萬維網(wǎng)高速緩存把最近的一些請求和響應(yīng)暫存在本地磁盤中。當(dāng)與暫時存放的請求相同的新請求到達(dá)時,萬維網(wǎng)高速緩存就把暫存的響應(yīng)發(fā)送出去,而不需要按
URL
的地址再去因特網(wǎng)訪問該資源。校園網(wǎng)源點服務(wù)器2
Mb/s因特網(wǎng)瀏覽器R1R2這條鏈路上的時延很大
使用高速緩存可減少訪問因特網(wǎng)服務(wù)器的時延
沒有使用高速緩存的情況所有萬維網(wǎng)通信量
都經(jīng)過這條鏈路校園網(wǎng)的高速緩存
(代理服務(wù)器)2
Mb/s因特網(wǎng)瀏覽器R1R2
使用高速緩存的情況(1)
瀏覽器訪問因特網(wǎng)的服務(wù)器時,要先與校園網(wǎng)的高速緩存建立
TCP
連接,并向高速緩存發(fā)出
HTTP請求報文
源點服務(wù)器
校園網(wǎng)校園網(wǎng)的高速緩存
(代理服務(wù)器)2
Mb/s因特網(wǎng)瀏覽器R1R2
使用高速緩存的情況(2)
若高速緩存已經(jīng)存放了所請求的對象,則將此對象放入
HTTP
響應(yīng)報文中返回給瀏覽器。
源點服務(wù)器
校園網(wǎng)校園網(wǎng)的高速緩存
(代理服務(wù)器)2
Mb/s因特網(wǎng)瀏覽器R1R2
使用高速緩存的情況(3)
否則,高速緩存就代表發(fā)出請求的用戶瀏覽器,與因特網(wǎng)上的源點服務(wù)器建立
TCP
連接,并發(fā)送HTTP
請求報文。
源點服務(wù)器
校園網(wǎng)校園網(wǎng)的高速緩存
(代理服務(wù)器)2
Mb/s因特網(wǎng)瀏覽器R1R2
使用高速緩存的情況(4)
源點服務(wù)器將所請求的對象放在
HTTP
響應(yīng)報文中返回給校園網(wǎng)的高速緩存。
源點服務(wù)器
校園網(wǎng)校園網(wǎng)的高速緩存
(代理服務(wù)器)2
Mb/s因特網(wǎng)瀏覽器R1R2
使用高速緩存的情況(5)
高速緩存收到此對象后,先復(fù)制在其本地存儲器中(為今后使用),然后再將該對象放在
HTTP
響應(yīng)報文中,通過已建立的
TCP
連接,返回給請求該對象的瀏覽器。
源點服務(wù)器
校園網(wǎng)3.
HTTP
的報文結(jié)構(gòu)HTTP
有兩類報文:
請求報文——從客戶向服務(wù)器發(fā)送請求報文。
響應(yīng)報文——從服務(wù)器到客戶的回答。
由于
HTTP
是面向正文的(text-oriented),因
此在報文中的每一個字段都是一些
ASCII
碼串,
因而每個字段的長度都是不確定的。…HTTP
的報文結(jié)構(gòu)(請求報文)方
法URL版
本:請求行空格回車換行首部字段名
:CRLF值
CRLF首部字段名
:
值
CRLF
首部行CRLF
實體主體
(通常不用)報文由三個部分組成,即開始行、首部行和實體主體。在請求報文中,開始行就是請求行。開始行…HTTP
的報文結(jié)構(gòu)(請求報文)方
法URL版
本:請求行空格回車換行首部字段名
:CRLF值
CRLF首部字段名
:
值
CRLF
首部行CRLF
實體主體
(通常不用)“方法”是面向?qū)ο蠹夹g(shù)中使用的專門名詞。所謂“方法”就是對所請求的對象進(jìn)行的操作,因此這些方法實際上也就是一些命令。因此,請求報文的類型是由它所采用的方法決定的。HTTP
請求報文的一些方法方法(操作)OPTIONGETHEADPOSTPUTDELETETRACECONNECT
意義請求一些選項的信息請求讀取由
URL所標(biāo)志的信息
請求讀取由
URL所標(biāo)志的信息的首部給服務(wù)器添加信息(例如,注釋)在指明的
URL下存儲一個文檔刪除指明的
URL所標(biāo)志的資源用來進(jìn)行環(huán)回測試的請求報文用于代理服務(wù)器…HTTP
的報文結(jié)構(gòu)(請求報文)方
法URL版
本:請求行空格回車換行首部字段名
:CRLF值
CRLF首部字段名
:
值
CRLF
首部行CRLF
實體主體
(通常不用)“URL”是所請求的資源的
URL?!璈TTP
的報文結(jié)構(gòu)(請求報文)方
法URL版
本:請求行空格回車換行首部字段名
:CRLF值
CRLF首部字段名
:
值
CRLF
首部行CRLF
實體主體
(通常不用)“版本”是
HTTP
的版本。…HTTP
的報文結(jié)構(gòu)(響應(yīng)報文)版
本狀態(tài)碼短
語:狀態(tài)行空格回車換行首部字段名
:CRLF值
CRLF首部字段名
:
值
CRLF
首部行CRLF
實體主體
(有些響應(yīng)報文不用)響應(yīng)報文的開始行是狀態(tài)行。狀態(tài)行包括三項內(nèi)容,即
HTTP
的版本,狀態(tài)碼,以及解釋狀態(tài)碼的簡單短語。開始行狀態(tài)碼都是三位數(shù)字1xx
表示通知信息的,如請求收到了或正在進(jìn)行處理。2xx
表示成功,如接受或知道了。3xx
表示重定向,表示要完成請求還必須采取進(jìn)一步的行動。4xx
表示客戶的差錯,如請求中有錯誤的語法或不能完成。5xx
表示服務(wù)器的差錯,如服務(wù)器失效無法完成請求。4.
在服務(wù)器上存放用戶的信息萬維網(wǎng)站點使用
Cookie
來跟蹤用戶。Cookie
表示在
HTTP
服務(wù)器和客戶之間傳遞的狀態(tài)信息。使用
Cookie
的網(wǎng)站服務(wù)器為用戶產(chǎn)生一個唯一的識別碼。利用此識別碼,網(wǎng)站就能夠跟蹤該用戶在該網(wǎng)站的活動。
4.4
萬維網(wǎng)的文檔1.
超文本標(biāo)記語言
HTML超文本標(biāo)記語言
HTML
中的
Markup
的意思就是“設(shè)置標(biāo)記”。HTML
定義了許多用于排版的命令(即標(biāo)簽)。HTML
把各種標(biāo)簽嵌入到萬維網(wǎng)的頁面中。這樣就構(gòu)成了所謂的
HTML
文檔。HTML
文檔是一種可以用任何文本編輯器創(chuàng)建的
ASCII
碼文件。HTML
文檔僅當(dāng)
HTML
文檔是以.html
或
.htm
為后綴時,瀏覽器才對此
文檔的各種標(biāo)簽進(jìn)行解釋。如
HTML
文檔改換以
.txt
為其后綴,則
HTML解釋程序就不對標(biāo)簽進(jìn)行解釋,而瀏覽器只能看見原來的文本文件。當(dāng)瀏覽器從服務(wù)器讀取
HTML
文檔后,就按照HTML
文檔中的各種標(biāo)簽,根據(jù)瀏覽器所使用的顯示器的尺寸和分辨率大小,重新進(jìn)行排版并恢復(fù)出所讀取的頁面。HTML
文檔中標(biāo)簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>HTML
文檔開始
HTML
文檔中標(biāo)簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>首部開始HTML
文檔中標(biāo)簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>標(biāo)題
HTML
文檔中標(biāo)簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>首部結(jié)束
HTML
文檔中標(biāo)簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>主體開始
HTML
文檔中標(biāo)簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>1級標(biāo)題</HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>
HTML
文檔中標(biāo)簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE>第一個段落
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>
HTML
文檔中標(biāo)簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>第二個段落
HTML
文檔中標(biāo)簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>主體結(jié)束
HTML
文檔中標(biāo)簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>HTML
文檔結(jié)束兩種不同的鏈接遠(yuǎn)程鏈接:超鏈的終點是其他網(wǎng)點上的頁面。本地鏈接:超鏈指向本計算機(jī)中的某個文件。2.
動態(tài)萬維網(wǎng)文檔靜態(tài)文檔是指該文檔創(chuàng)作完畢后就存放在萬維網(wǎng)服務(wù)器中,在被用戶瀏覽的過程中,內(nèi)容不會改變。動態(tài)文檔是指文檔的內(nèi)容是在瀏覽器訪問萬維網(wǎng)服務(wù)器時才由應(yīng)用程序動態(tài)創(chuàng)建。動態(tài)文檔和靜態(tài)文檔之間的主要差別體現(xiàn)在服務(wù)器一端。這主要是文檔內(nèi)容的生成方法不同。而從瀏覽器的角度看,這兩種文檔并沒有區(qū)別。萬維網(wǎng)服務(wù)器功能的擴(kuò)充(1)
應(yīng)增加另一個應(yīng)用程序,用來處理瀏覽器發(fā)來的數(shù)據(jù),并創(chuàng)建動態(tài)文檔。(2)
應(yīng)增加一個機(jī)制,用來使萬維網(wǎng)服務(wù)器
把瀏覽器發(fā)來的數(shù)據(jù)傳送給這個應(yīng)用程
序,然后萬維網(wǎng)服務(wù)器能夠解釋這個應(yīng)
用程序的輸出,并向瀏覽器返回
HTML
文檔。CGI
響應(yīng)動態(tài)文檔瀏覽器
程序
擴(kuò)充了功能的萬維網(wǎng)服務(wù)器
萬維網(wǎng)服務(wù)器萬維網(wǎng)客戶服務(wù)器
程序HTTP數(shù)據(jù)庫
請求文檔
HTTP
請求報文
HTTP
響應(yīng)報文
CGI
程序創(chuàng)建
動態(tài)文檔
通用網(wǎng)關(guān)接口
CGI(Common
Gateway
Interface)CGI
是一種標(biāo)準(zhǔn),它定義了動態(tài)文檔應(yīng)如何創(chuàng)建,輸入數(shù)據(jù)應(yīng)如何提供給應(yīng)用程序,以及輸出結(jié)果應(yīng)如何使用。萬維網(wǎng)服務(wù)器與
CGI
的通信遵循
CGI
標(biāo)準(zhǔn)?!巴ㄓ谩保篊GI
標(biāo)準(zhǔn)所定義的規(guī)則對其他任何語言都是通用的?!熬W(wǎng)關(guān)”:CGI
程序的作用像網(wǎng)關(guān)?!敖涌凇保河幸恍┮讯x好的變量和調(diào)用等可供其他
CGI
程序使用。CGI
程序CGI
程序的正式名字是
CGI
腳本(script)?!澳_本”指的是一個程序,它被另一個程序(解釋程序)而不是計算機(jī)的處理機(jī)來解釋或執(zhí)行。腳本運行起來要比一般的編譯程序要慢,因為它的每一條指令先要被另一個程序來處理(這就要一些附加的指令),而不是直接被指令處理器來處理。3.
活動萬維網(wǎng)文檔活動文檔(active
document)技術(shù)把所有的工作都轉(zhuǎn)移給瀏覽器端。每當(dāng)瀏覽器請求一個活動文檔時,服務(wù)器就返回一段程序副本在瀏覽器端運行?;顒游臋n程序可與用戶直接交互,并可連續(xù)地改變屏幕的顯示。由于活動文檔技術(shù)不需要服務(wù)器的連續(xù)更新傳送,對網(wǎng)絡(luò)帶寬的要求也不會太高。HTTP
請求報文HTTP
響應(yīng)報文
程序活動文檔在客戶端創(chuàng)建萬維網(wǎng)服務(wù)器瀏覽器
程序萬維網(wǎng)客戶服務(wù)器
程序HTTP
程序事先被編譯
成二進(jìn)制代碼,
存放為文件
響應(yīng)程序程序
此程序在
客戶端創(chuàng)建
出活動文檔
請求文檔文檔用
Java
技術(shù)創(chuàng)建活動文檔由美國
Sun
公司開發(fā)的
Java
語言是一項用于創(chuàng)建和運行活動文檔的技術(shù)。在
Java
技術(shù)中使用
“小應(yīng)用程序”(applet)來描述活動文檔程序。用戶從萬維網(wǎng)服務(wù)器下載嵌入了
Java
小應(yīng)用程序的
HTML
文檔后,可在瀏覽器的屏幕上點擊某個圖像,就可看到動畫效果,或在下拉式菜單中點擊某個項目,就可看到計算結(jié)果。Java
技術(shù)是活動文檔技術(shù)的一部分。Java
技術(shù)裝三個主要組成部分(1)
程序設(shè)計語言。Java
包含一個新的程序設(shè)計
語言,用來編寫傳統(tǒng)的計算機(jī)程序和
Java
小
應(yīng)用程序。(2)
運行(runtime)環(huán)境。這是運行
Java
程序所必
須的運行環(huán)境,其中包括
Java
虛擬機(jī)(簡稱
為
JVM),該軟件定義了
Java
二進(jìn)制代碼的
執(zhí)行模型。(3)
類庫(class
library)。為了更容易編寫
Java
小應(yīng)用程序,Java
提供了強大的類庫支持。JavaJava
是一種面向?qū)ο蟮母呒壵Z言,從
C++
派生出來的,它省略了
C++
很多復(fù)雜的、很少用的語言特點。Java
的每一個數(shù)據(jù)項都有一個確定的類型。對數(shù)據(jù)的操作嚴(yán)格按照該數(shù)據(jù)的類型來進(jìn)行。Java
的編譯程序?qū)⒃闯绦蜣D(zhuǎn)換成
Java
字節(jié)碼(bytecode),這是一種與機(jī)器無關(guān)的二進(jìn)制代碼。計算機(jī)程序調(diào)用解釋程序讀取字節(jié)碼,并解釋執(zhí)行。計算機(jī)硬件無關(guān)Java
語言、字節(jié)碼以及
Java
運行系統(tǒng)都被設(shè)計成與計算機(jī)硬件無關(guān)。一旦形成了字節(jié)碼,就可在任何計算機(jī)上運行并產(chǎn)生相同的輸出。Java
小應(yīng)用程序與機(jī)器無關(guān)可使在任何計算機(jī)上運行的瀏覽器程序能夠下載并運行活動文檔。可保證活動文檔在所有的瀏覽器上產(chǎn)生同樣的正確輸出??纱蟠蟮亟档突顒游臋n的創(chuàng)建和測試費用,因為不必為每一種計算機(jī)都制作一個副本。Java
解釋程序運行
Java
的瀏覽器需要有
HTML
解釋程序和
Java
小應(yīng)用程序解釋程序。解釋程序的核心是一個模仿計算機(jī)的簡單循環(huán)。解釋程序維持一個指令指針,在初始化時指在小應(yīng)用程序的開始處。在每一次循環(huán)操作時,解釋程序在指令指針指向的地址讀取字節(jié)碼。然后解釋程序?qū)ψ止?jié)碼進(jìn)行解碼,并完成指明的操作。…4.
瀏覽器的結(jié)構(gòu)
與遠(yuǎn)地服務(wù)器通信輸出至顯示器從鼠標(biāo)和鍵盤輸入網(wǎng)絡(luò)接口可選客戶程序HTML解釋程序
可選解釋程序控制程序驅(qū)動程序HTTP
客戶程序
…緩存瀏覽器的主要組成部分瀏覽器有一組客戶、一組解釋程序,以及管理這些客戶和解釋程序的控制程序??刂瞥绦蚴瞧渲械暮诵牟考?,它解釋鼠標(biāo)的點擊和鍵盤的輸入,并調(diào)用有關(guān)的組件來執(zhí)行用戶指定的操作。例如,當(dāng)用戶用鼠標(biāo)點擊一個超鏈的起點時,控制程序就調(diào)用一個客戶從所需文檔所在的遠(yuǎn)地服務(wù)器上取回該文檔,并調(diào)用解釋程序向用戶顯示該文檔。解釋程序HTML
解釋程序是必不可少的,而其他的解釋程序則是可選的。解釋程序把
HTML
規(guī)格轉(zhuǎn)換為適合用戶顯示硬件的命令來處理版面的細(xì)節(jié)。許多瀏覽器還包含
FTP
客戶程序,用來獲取文件傳送服務(wù)。一些瀏覽器也包含電子郵件客戶程序,使瀏覽器能夠發(fā)送和接收電子郵件。瀏覽器中的緩存瀏覽器將它取回的每一個頁面副本都放入本地磁盤的緩存中。當(dāng)用戶用鼠標(biāo)點擊某個選項時,瀏覽器首先檢查磁盤的緩存。若緩存中保存了該項,瀏覽器就直接從緩存中得到該項副本而不必從網(wǎng)絡(luò)獲取,這樣就明顯地改善瀏覽器的運行特性。
。但緩存要占用磁盤大量的空間,而瀏覽器性能的改善只有在用戶再次查看緩存中的頁面時才有幫助。許多瀏覽器允許用戶調(diào)整緩存策略。
4.5
萬維網(wǎng)的信息檢索系統(tǒng)1.
全文檢索搜索和分類目錄搜索在萬維網(wǎng)中用來進(jìn)行搜索的程序叫做搜索引擎。全文檢索搜索引擎是一種純技術(shù)型的檢索工具。它的工作原理是通過搜索軟件到因特網(wǎng)上的各網(wǎng)站收集信息,找到一個網(wǎng)站后可以從這個網(wǎng)站再鏈接到另一個網(wǎng)站。然后按照一定的規(guī)則建立一個很大的在線數(shù)據(jù)庫供用戶查詢。用戶在查詢時只要輸入關(guān)鍵詞,就從已經(jīng)建立的索引數(shù)據(jù)庫上進(jìn)行查詢(并不是實時地在因特網(wǎng)上檢索到的信息)。分類目錄搜索分類目錄搜索引擎并不采集網(wǎng)站的任何信息,而是利用各網(wǎng)站向搜索引擎提交的網(wǎng)站信息時填寫的關(guān)鍵詞和網(wǎng)站描述等信息,經(jīng)過人工審核編輯后,如果認(rèn)為符合網(wǎng)站登錄的條件,則輸入到分類目錄的數(shù)據(jù)庫中,供網(wǎng)上用戶查詢。分類目錄搜索也叫做分類網(wǎng)站搜索。一些著名的搜索引擎最著名的全文檢索搜索引擎:Google(谷歌)()百度
()最著名的分類目錄搜索引擎:雅虎
()雅虎中國
()新浪
()搜狐
()網(wǎng)易
()
垂直搜索引擎(Vertical
Search
Engine)針對某一特定領(lǐng)域、特定人群或某一特定需求提供搜索服務(wù)。垂直搜索也是提供關(guān)鍵字來進(jìn)行搜索的,但被放到了一個行業(yè)知識的上下文中,返回的結(jié)果更傾向于信息、消息、條目等。5
電子郵件
5.1
概述電子郵件(e-mail)是因特網(wǎng)上使用得最多的和最受用戶歡迎的一種應(yīng)用。電子郵件把郵件發(fā)送到收件人使用的郵件服務(wù)器,并放在其中的收件人郵箱中,收件人可隨時上網(wǎng)到自己使用的郵件服務(wù)器進(jìn)行讀取。電子郵件不僅使用方便,而且還具有傳遞迅速和費用低廉的優(yōu)點?,F(xiàn)在電子郵件不僅可傳送文字信息,而且還可附上聲音和圖像。電子郵件的一些標(biāo)準(zhǔn)發(fā)送郵件的協(xié)議:SMTP讀取郵件的協(xié)議:POP3
和
IMAPMIME
在其郵件首部中說明了郵件的數(shù)據(jù)類型(如文本、聲音、圖像、視像等),使用
MIME
可在郵件中同時傳送多種類型的數(shù)據(jù)。電子郵件的最主要的組成構(gòu)件郵件緩存
接收端郵件服務(wù)器
發(fā)送端郵件服務(wù)器接收方發(fā)送方
(發(fā)送郵件)(發(fā)送郵件)
SMTP用戶郵箱
(讀取郵件)
POP3
SMTP
因特網(wǎng)
用戶代理用戶代理SMTPPOP3發(fā)送郵件
SMTPTCP連接TCP連接
發(fā)送方發(fā)送
郵件服務(wù)器郵件SMTP客戶POP3客戶
發(fā)件人用戶代理
接收方郵件服務(wù)器
讀取
郵件服務(wù)器POP3服務(wù)器
SMTPSMTP服務(wù)器
SMTP客戶
收件人用戶代理TCP
連接用戶信箱用戶接口用戶代理
UA
客戶(發(fā)送郵件)服務(wù)器
(接收郵件)報文傳輸代理
MTA
發(fā)送郵件的
TCP連接目的端口號25接收郵件的TCP連接2525E-mail系統(tǒng)的組成圖例
電子郵件系統(tǒng)
發(fā)送郵件緩沖區(qū)Internet郵件傳輸?shù)耐暾^程用戶A用戶接口用戶接口用戶B用戶信箱
SMTP-C(發(fā)送郵件)SMTP-S(接收郵件)用戶信箱
SMTP-S(接收郵件)SMTP-C(發(fā)送郵件)用戶B
郵局
發(fā)送郵件
緩沖區(qū)郵局間收發(fā)郵件使用SMTP協(xié)議
用戶A
郵局
用戶A郵局為發(fā)送郵件向用戶B發(fā)送郵件
郵局的25#端口請求TCP連接
緩沖區(qū)POPPOPPOP-SPOP-CPOP-SPOP-C110110SMTP
25
SMTP252525用戶
-
郵局、郵局
-
用戶的郵件傳輸模型用戶代理
UA
(User
Agent)用戶代理
UA
就是用戶與電子郵件系統(tǒng)的接口,是電子郵件客戶端軟件。用戶代理的功能:撰寫、顯示、處理和通信。郵件服務(wù)器的功能是發(fā)送和接收郵件,同時還要向發(fā)信人報告郵件傳送的情況(已交付、被拒絕、丟失等)。郵件服務(wù)器按照客戶服務(wù)器方式工作。郵件服務(wù)器需要使用發(fā)送和讀取兩個不同的協(xié)議。應(yīng)當(dāng)注意一個郵件服務(wù)器既可以作為客戶,也可以作為服務(wù)器。例如,當(dāng)郵件服務(wù)器
A
向另一個郵件服務(wù)器
B發(fā)送郵件時,郵件服務(wù)器
A
就作為
SMTP
客戶,而
B
是
SMTP
服務(wù)器。當(dāng)郵件服務(wù)器
A
從另一個郵件服務(wù)器
B
接收郵件時,郵件服務(wù)器
A
就作為
SMTP
服務(wù)器,而
B
是
SMTP
客戶。發(fā)送和接收電子郵件的幾個重要步驟
發(fā)件人調(diào)用
PC
機(jī)中的用戶代理撰寫和編輯要發(fā)送的郵件。
發(fā)件人的用戶代理把郵件用
SMTP
協(xié)議發(fā)給發(fā)送方郵件服務(wù)器,
SMTP
服務(wù)器把郵件臨時存放在郵件緩存隊列中,等待發(fā)送。
發(fā)送方郵件服務(wù)器的
SMTP
客戶與接收方郵
件服務(wù)器的
SMTP
服務(wù)器建立
TCP
連接,然
后就把郵件緩存隊列中的郵件依次發(fā)送出去。發(fā)送和接收電子郵件的幾個重要步驟(續(xù))
運行在接收方郵件服務(wù)器中的SMTP服
務(wù)器進(jìn)
程收到郵件后,把郵件放入收件
人的用戶郵箱中,等待收件人進(jìn)行讀取。
收件人在打算收信時,就運行
PC
機(jī)中
的用戶代理,使用
POP3(或
IMAP)協(xié)
議讀取發(fā)送給自己的郵件。
請注意,POP3
服務(wù)器和
POP3
客戶之間的通信是由
POP3
客戶發(fā)起的。電子郵件地址的格式TCP/IP
體系的電子郵件系統(tǒng)規(guī)定電子郵件地址的格式如下:
收件人郵箱名@郵箱所在主機(jī)的域名符號“@”讀作“at”,表示“在”的意思。
例:電子郵件地址
xiexiren@郵箱所在的主機(jī)的域名在全世界必須是唯一的這個用戶名在該域名的范圍內(nèi)是唯一的。5.2
簡單郵件傳送協(xié)議
SMTPSMTP
所規(guī)定的就是在兩個相互通信的
SMTP
進(jìn)程之間應(yīng)如何交換信息。由于
SMTP
使用客戶服務(wù)器方式,因此負(fù)責(zé)發(fā)送郵件的
SMTP
進(jìn)程就是
SMTP
客戶,而負(fù)責(zé)接收郵件的
SMTP
進(jìn)程就是
SMTP
服務(wù)器。SMTP
規(guī)定了
14
條命令和
21
種應(yīng)答信息。每條命令用
4
個字母組成,而每一種應(yīng)答信息一般只有一行信息,由一個
3
位數(shù)字的代碼開始,后面附上(也可不附上)很簡單的文字說明。SMTP
通信的三個階段1.
連接建立:連接是在發(fā)送主機(jī)的
SMTP
客戶和接收主機(jī)的
SMTP
服務(wù)器之間建立的。SMTP不使用中間的郵件服務(wù)器。2.
郵件傳送3.
連接釋放:郵件發(fā)送完畢后,SMTP
應(yīng)釋放TCP
連接。連接建立發(fā)信人先將準(zhǔn)備發(fā)送的郵件送到郵件緩沖區(qū),SMTP
client
每隔一定時間(例如30分鐘)對郵件緩沖區(qū)掃描一次,如發(fā)現(xiàn)有郵件,就以client
的身份與目的主機(jī)(SMTPserver)的Well-known的端口號(25)建立TCP連接并發(fā)送連接建立過程在連接建立后,SMTP
server
要發(fā)出:“
220
service
Ready
”然后SMTP
client
向SMTP
server
發(fā)送:
“
HELO
”
命令,附上發(fā)送方的主機(jī)名SMTP
server
若有能力接收郵件,則回答:“
250
OK
”表示已準(zhǔn)備好接收,若SMTP
server
不可用,則回答:“
421
Service
not
available
”如在一定時間內(nèi)(例如兩天)發(fā)送不了郵件,則將郵件退還發(fā)信人郵件傳送—詢問服務(wù)器是否準(zhǔn)備好郵件的傳送從MAIL命令開始,在MAIL命令后面有發(fā)信人的地址,如:MAIL
FROM:<ybzhang@>若SMTP
server
已準(zhǔn)備好接收郵件,則回
“
250
OK
”否則,返回一個代碼,指出原因如:
451(處理時出錯)
452(存儲空間不夠)
500(命令無法識別)郵件傳送—驗證收信人地址RCPT
TO:<收信人地址>每發(fā)送一個命令,都應(yīng)當(dāng)有相應(yīng)的信息從SMTP
server
返回,如:
“
250
OK
”:指明的郵箱在接收端的系統(tǒng)中
“
550
No
such
user
here
”:不存在此郵箱郵件傳送—傳送正文
DATA命令,表示將開始傳送郵件的內(nèi)容
SMTP
server
返回的信息是:“
354
Start
input;end
with<CRLF>·
<CRLF>”
若不能接收郵件,則返回421:server
不可用;
500:命令無法識別;等
SMTP
client
就發(fā)送郵件的內(nèi)容
發(fā)送完畢后,再發(fā)送<CRLF>·
<CRLF>
若郵件收到,則SMTP
server
返回信息
“
250
OK
”;或返回差錯代碼連接釋放郵件發(fā)送完畢后,SMTP
client
應(yīng)發(fā)送QUIT命令SMTP
server
返回的信息是:“
250
OK
”SMTP
client
再發(fā)出釋放TCP連接的命令,待SMTPserver
回答后,郵件傳送的全部過程即結(jié)束郵件服務(wù)器郵件服務(wù)器即
“
郵局
”,通常郵件服務(wù)器是不會關(guān)機(jī)的郵件服務(wù)器應(yīng)為每個注冊用戶提供用戶
信箱(mailbox)并設(shè)定E-mail地址交大計算機(jī)系的Mail
Server的域名為E-mail地址格式:mailbox@computer
ybzhang@
yb33030@163.com一封郵件From:
張杉To:李絲Subject:MIME-Version:1.0Content-Type:
text/plainContent-Transfer-Encoding:
7Bit今晚8點請你吃飯.SMTP的漏洞HELO:MAIL
From:panyan@RCPT
TO:lisan@DATA:xxxxxx冒名郵件發(fā)送舉例冒名郵件的發(fā)送telnet
25HELOMAIL
FROM:aaa@RCPT
TO:TEST2@shanghaiDATA;。使用telnet命令通過SMTP協(xié)議發(fā)送冒名郵件。由于SMTP本身的限制,不可能對郵件的來源(即發(fā)送者)進(jìn)行全面的認(rèn)證,因此我們不能通過郵件的發(fā)送地址來確認(rèn)郵件的發(fā)送者。5.3
電子郵件的信息格式一個電子郵件分為信封和內(nèi)容兩大部分。RFC
822沒有明顯地區(qū)分信封和頭部字段,只規(guī)定了郵件內(nèi)容中的首部(header)格式,而對郵件的主體(body)部分則讓用戶自由撰寫。因此郵件就由頭部和消息體組成用戶寫好首部后,郵件系統(tǒng)將自動地將信封所需的信息提取出來并寫在信封上。所以用戶不需要填寫電子郵件信封上的信息。郵件內(nèi)容首部包括一些關(guān)鍵字,后面加上冒號。最重要的關(guān)鍵字是:To
和
Subject。RFC
822RFC
822
沒有明顯地區(qū)分信封和頭部字段,因此郵件就由頭部和消息體組成通常用戶代理創(chuàng)建一條消息交給傳輸代理,由它去構(gòu)建一個信封郵件內(nèi)容的首部“To:”后面填入一個或多個收件人的電子郵件地址。用戶只需打開地址簿,點擊收件人名字,收件人的電子郵件地址就會自動地填入到合適的位置上。
“Subject:”是郵件的主題。它反映了郵件的主要內(nèi)容,便于用戶查找郵件。抄送
“Cc:”
表示應(yīng)給某某人發(fā)送一個郵件副本?!癋rom”
和
“Date”
表示發(fā)信人的電子郵件地址和發(fā)信日期?!癛eply-To”
是對方回信所用的地址。頭字段意義To:接收者的地址Cc:第二接收者的地址Bcc:秘密拷貝者的地址From:發(fā)送者名字Sender:發(fā)送者的地址Received:沿途每一個轉(zhuǎn)發(fā)者增加的信息行Return-Path:標(biāo)識返回發(fā)送者的路徑與消息傳輸相關(guān)的頭部字段Tnbm
P595
Fig.
7-9
與消息有關(guān)的RFC
822頭部字段頭字段含義Date:發(fā)送消息的日期和時間Reply-To:回信應(yīng)送達(dá)的電子郵件地址Message-ID:以后引用此消息的唯一標(biāo)識號In-Reply-To:回信消息的標(biāo)識號References:其它相關(guān)消息的標(biāo)識號(一個或多個)Keywords:用戶選擇的關(guān)鍵字Subject:用于一行顯示的本消息的簡短摘要用戶代理或接收者使用的頭部字段Tnbm
P596
Fig.
7-10
RFC
822消息頭中使用的一些字段5.4
郵件讀取協(xié)議
POP3
和
IMAP郵局協(xié)議
POP是一個非常簡單、但功能有限的郵件讀取協(xié)議,現(xiàn)在使用的是它的第三個版本POP3。POP也使用客戶服務(wù)器的工作方式。在接收郵件的用戶
PC
機(jī)中必須運行
POP
客戶程序,而在用戶所連接的
ISP
的郵件服務(wù)器中則運行POP服務(wù)器程序。
IMAP
協(xié)議(Internet
Message
Access
Protocol)IMAP
也是按客戶服務(wù)器方式工作,現(xiàn)在較新的是版本
4,即
IMAP4。用戶在自己的
PC
機(jī)上就可以操縱
ISP
的郵件服務(wù)器的郵箱,就像在本地操縱一樣。因此
IMAP
是一個聯(lián)機(jī)協(xié)議。當(dāng)用戶
PC
機(jī)上的
IMAP
客戶程序打開
IMAP
服務(wù)器的郵箱時,用戶就可看到郵件的首部。若用戶需要打開某個郵件,則該郵件才傳到用戶的計算機(jī)上。IMAP
的特點IMAP最大的好處就是用戶可以在不同的地方使用不同的計算機(jī)隨時上網(wǎng)閱讀和處理自己的郵件。IMAP
還允許收件人只讀取郵件中的某一個部分。例如,收到了一個帶有視像附件(此文件可能很大)的郵件。為了節(jié)省時間,可以先下載郵件的正文部分,待以后有時間再讀取或下載這個很長的附件。IMAP
的缺點是如果用戶沒有將郵件復(fù)制到自己的PC
機(jī)上,則郵件一直是存放在
IMAP
服務(wù)器上。因此用戶需要經(jīng)常與
IMAP
服務(wù)器建立連接。必須注意不要將郵件讀取協(xié)議
POP
或
IMAP
與郵件傳送協(xié)議
SMTP
弄混。發(fā)信人的用戶代理向源郵件服務(wù)器發(fā)送郵件,以及源郵件服務(wù)器向目的郵件服務(wù)器發(fā)送郵件,都是使用
SMTP
協(xié)議。而
POP
協(xié)議或
IMAP
協(xié)議則是用戶從目的郵件服務(wù)器上讀取郵件所使用的協(xié)議。5.5
基于萬維網(wǎng)的電子郵件電子郵件從
A
發(fā)送到網(wǎng)易郵件服務(wù)器是使用
HTTP
協(xié)議。兩個郵件服務(wù)器之間的傳送使用
SMTP。郵件從新浪郵件服務(wù)器傳送到
B
是使用HTTP
協(xié)議。ABSMTP網(wǎng)易郵件服務(wù)器
HTTP新浪郵件服務(wù)器
HTTP5.6
通用因特網(wǎng)郵件擴(kuò)充
MIME1.
MIME
概述SMTP
有以下缺點:
SMTP
不能傳送可
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國郵政集團(tuán)公司江蘇省常熟市分公司招聘快包投遞員高頻重點提升(共500題)附帶答案詳解
- 2025中國聯(lián)通福建省分公司招聘(414人+)高頻重點提升(共500題)附帶答案詳解
- 2025中國移動黑龍江公司校園招聘224人高頻重點提升(共500題)附帶答案詳解
- 2025中國電建(德國)限公司招聘1人高頻重點提升(共500題)附帶答案詳解
- 2025中國電信湖北潛江分公司招聘4人高頻重點提升(共500題)附帶答案詳解
- 2025下半年浙江麗水市青田縣招聘國企業(yè)工作人員擬聘用(三)閱讀模式高頻重點提升(共500題)附帶答案詳解
- 2025下半年廣西桂林市事業(yè)單位招聘應(yīng)征入伍大學(xué)畢業(yè)生153人高頻重點提升(共500題)附帶答案詳解
- 2025下半年山東通匯資本投資集團(tuán)限公司社會招聘7人高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川省江油市事業(yè)單位招聘95人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川南充市高坪區(qū)事業(yè)單位招聘47人高頻重點提升(共500題)附帶答案詳解
- 社區(qū)開展反詐工作方案
- 城市露營項目商業(yè)計劃書
- 建筑垃圾清運重點分析報告
- 11396-國家開放大學(xué)2023年春期末統(tǒng)一考試《藥事管理與法規(guī)(本)》答案
- NB-T 47013.7-2012(JB-T 4730.7) 4730.7 承壓設(shè)備無損檢測 第7部分:目視檢測
- 網(wǎng)絡(luò)安全與信息保密培訓(xùn)
- 天津市四校2022-2023學(xué)年高二上學(xué)期期末聯(lián)考數(shù)學(xué)試題(原卷版)
- 2023年建筑工程管理經(jīng)理年終總結(jié)及年后展望
- 小學(xué)數(shù)學(xué)問題解決能力的培養(yǎng)策略
- 京歌《故鄉(xiāng)是北京》的藝術(shù)特征及演唱分析
- 機(jī)動庫護(hù)士培訓(xùn)課件
評論
0/150
提交評論