




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
應用層1
域名系統(tǒng)
DNS
1.1
域名系統(tǒng)概述
1.2
因特網(wǎng)的域名結構
1.3
域名服務器2
文件傳送協(xié)議2.1
FTP
概述2.2
FTP
的基本工作原理2.3
簡單文件傳送協(xié)議
TFTP應用層(續(xù))3
遠程終端協(xié)議
TELNET4
萬維網(wǎng)
WWW4.1
概述4.2
統(tǒng)一資源定位符
URL4.3
超文本傳送協(xié)議
HTTP4.4
萬維網(wǎng)的文檔4.5
萬維網(wǎng)的信息檢索系統(tǒng)應用層(續(xù))5
電子郵件5.1
電子郵件概述5.2
簡單郵件傳送協(xié)議
SMTP5.3
電子郵件的信息格式5.4
郵件讀取協(xié)議
POP3
和
IMAP5.5
基于萬維網(wǎng)的電子郵件5.6
通用因特網(wǎng)郵件擴充
MIME應用層(續(xù))6
動態(tài)主機配置協(xié)議
DHCP7
簡單網(wǎng)絡管理協(xié)議
SNMP7.1
網(wǎng)絡管理的基本概念7.2
管理信息結構
SMI7.3
管理信息庫
MIB7.4
SNMP
的協(xié)議數(shù)據(jù)單元和報文8
應用進程跨越網(wǎng)絡的通信
8.1
系統(tǒng)調用和應用編程接口
8.2
幾種常用的系統(tǒng)調用應用層協(xié)議的特點每個應用層協(xié)議都是為了解決某一類應用問題,而問題的解決又往往是通過位于不同主機中的多個應用進程之間的通信和協(xié)同工作來完成的。應用層的具體內(nèi)容就是規(guī)定應用進程在通信時所遵循的協(xié)議。應用層的許多協(xié)議都是基于客戶服務器方式。客戶(client)和服務器(server)都是指通信中所涉及的兩個應用進程。客戶服務器方式所描述的是進程之間服務和被服務的關系。客戶是服務請求方,服務器是服務提供方。1
域名系統(tǒng)
DNS
1.1
域名系統(tǒng)概述許多應用層軟件經(jīng)常直接使用域名系統(tǒng)
DNS(Domain
Name
System),但計算機的用戶只是間接而不是直接使用域名系統(tǒng)。因特網(wǎng)采用層次結構的命名樹作為主機的名字,并使用分布式的域名系統(tǒng)
DNS。名字到
IP地址的解析是由若干個域名服務器程序完成的。域名服務器程序在專設的結點上運行,運行該程序的機器稱為域名服務器。1.2
因特網(wǎng)的域名結構因特網(wǎng)采用了層次樹狀結構的命名方法。任何一個連接在因特網(wǎng)上的主機或路由器,都有一個唯一的層次結構的名字,即域名。域名的結構由標號序列組成,各標號之間用點隔開:
…
.
三級域名
.
二級域名
.
頂級域名各標號分別代表不同級別的域名。域名只是個邏輯概念域名只是個邏輯概念,并不代表計算機所在的物理地點。變長的域名和使用有助記憶的字符串,是為了便于人來使用。而
IP
地址是定長的
32
位二進制數(shù)字則非常便于機器進行處理。域名中的“點”和點分十進制
IP
地址中的“點”并無一一對應的關系。點分十進制
IP地址中一定是包含三個“點”,但每一個域名中“點”的數(shù)目則不一定正好是三個。
頂級域名
TLD
(Top
Level
Domain)(1)
國家頂級域名
nTLD:如:
.cn
表示中
國,.us
表示美國,.uk
表示英國,等等。(2)
通用頂級域名
gTLD:最早的頂級域名是:
.com
(公司和企業(yè))
.net
(網(wǎng)絡服務機構)
.org
(非贏利性組織)
.edu
(美國專用的教育機構()
.gov
(美國專用的政府部門)
.mil
(美國專用的軍事部門).int(國際組織)頂級域名
TLD
(續(xù))(3)
基礎結構域名(infrastructure
domain):
這種頂級域名只有一個,即
arpa,用于反
向域名解析,因此又稱為反向域名。新增加了下列的通用頂級域名.aero
(航空運輸企業(yè)).biz
(公司和企業(yè)).cat
(加泰隆人的語言和文化團體).coop
(合作團體).info
(各種情況).jobs
(人力資源管理者).mobi
(移動產(chǎn)品與服務的用戶和提供者).museum
(博物館).name
(個人).pro
(有證書的專業(yè)人員).travel
(旅游業(yè))因特網(wǎng)的域名空間
根mailbjcom…educctv…
ibmhp二級域名pkutsinghua
…
…www三級域名四級域名mail…
wwwnetorgedugovaerouk…頂級域名…
com…
cn1.3
域名服務器一個服務器所負責管轄的(或有權限的)范圍叫做區(qū)(zone)。各單位根據(jù)具體情況來劃分自己管轄范圍的區(qū)。但在一個區(qū)中的所有節(jié)點必須是能夠連通的。每一個區(qū)設置相應的權限域名服務器,用來保存該區(qū)中的所有主機的域名到IP地址的映射。DNS
服務器的管轄范圍不是以“域”為單位,而是以“區(qū)”為單位。區(qū)的不同劃分方法舉例uvwty(a)
區(qū)
=
域(b)
區(qū)
<
域uvwtcom
abc
edu
區(qū)
y
org
域
區(qū)
x根com
abcedu
org
域
區(qū)
x根樹狀結構的
DNS
域名服務器根域名服務器org
域名服務器com
域名服務器edu
域名服務器…abc
公司有兩個權限域名服務器權限域名服務器根域名服務器頂級域名服務器
域名服務器
域名服務器域名服務器有以下四種類型根域名服務器頂級域名服務器權限域名服務器本地域名服務器
根域名服務器——最高層次的域名服務器——根域名服務器是最重要的域名服務器。所有的根域名服務器都知道所有的頂級域名服務器的域名和
IP
地址。不管是哪一個本地域名服務器,若要對因特網(wǎng)上任何一個域名進行解析,只要自己無法解析,就首先求助于根域名服務器。在因特網(wǎng)上共有13
個不同
IP
地址的根域名服務器,它們的名字是用一個英文字母命名,從a
一直到
m(前13
個字母)。根域名服務器共有
13
套裝置
(不是
13
個機器)這些根域名服務器相應的域名分別是
…
到
2006
年底全世界已經(jīng)安裝了一百多個根域名服務器機器,分布在世界各地。這樣做的目的是為了方便用戶,使世界上大部分
DNS
域名服務器都能就近找到一個根域名服務器。舉例:根域名服務器
f
的地點分布圖?
根域名服務器并不直接把域名直接轉換成
IP
地址。?
在使用迭代查詢時,根域名服務器把下一步應當找
的頂級域名服務器的
IP
地址告訴本地域名服務器。共
40
個機器頂級域名服務器
(即
TLD
服務器)這些域名服務器負責管理在該頂級域名服務器注冊的所有二級域名。當收到
DNS
查詢請求時,就給出相應的回答(可能是最后的結果,也可能是下一步應當找的域名服務器的
IP
地址)。權限域名服務器這就是前面已經(jīng)講過的負責一個區(qū)的域名服務器。當一個權限域名服務器還不能給出最后的查詢回答時,就會告訴發(fā)出查詢請求的
DNS
客戶,下一步應當找哪一個權限域名服務器。本地域名服務器本地域名服務器對域名系統(tǒng)非常重要。當一個主機發(fā)出
DNS
查詢請求時,這個查詢請求報文就發(fā)送給本地域名服務器。每一個因特網(wǎng)服務提供者
ISP,或一個大學,甚至一個大學里的系,都可以擁有一個本地域名服務器,這種域名服務器有時也稱為默認域名服務器。提高域名服務器的可靠性DNS
域名服務器都把數(shù)據(jù)復制到幾個域名服務器來保存,其中的一個是主域名服務器,其他的是輔助域名服務器。當主域名服務器出故障時,輔助域名服務器可以保證
DNS
的查詢工作不會中斷。主域名服務器定期把數(shù)據(jù)復制到輔助域名服務器中,而更改數(shù)據(jù)只能在主域名服務器中進行。這樣就保證了數(shù)據(jù)的一致性。域名的解析過程主機向本地域名服務器的查詢一般都是采用遞歸查詢。如果主機所詢問的本地域名服務器不知道被查詢域名的
IP
地址,那么本地域名服務器就以
DNS
客戶的身份,向其他根域名服務器繼續(xù)發(fā)出查詢請求報文。本地域名服務器向根域名服務器的查詢通常是采用迭代查詢。當根域名服務器收到本地域名服務器的迭代查詢請求報文時,要么給出所要查詢的
IP
地址,要么告訴本地域名服務器:“你下一步應當向哪一個域名服務器進行查詢”。然后讓本地域名服務器進行后續(xù)的查詢。本地域名服務器采用迭代查詢頂級域名服務器
權限域名服務
本地域名服務器
根域名服務器
迭代查詢
的
IP
地址遞歸查詢
需要查找
的
IP
地址本地域名服務器采用遞歸查詢
(比較少用)頂級域名服務器
權限域名服務
根域名服務器
遞歸查詢
本地域名服務器
遞歸
查詢
的
IP
地址
需要查找
的
IP
地址名字的高速緩存每個域名服務器都維護一個高速緩存,存放最近用過的名字以及從何處獲得名字映射信息的記錄。可大大減輕根域名服務器的負荷,使因特網(wǎng)上的
DNS查詢請求和回答報文的數(shù)量大為減少。為保持高速緩存中的內(nèi)容正確,域名服務器應為每項內(nèi)容設置計時器,并處理超過合理時間的項(例如,每個項目只存放兩天)。當權限域名服務器回答一個查詢請求時,在響應中都指明綁定有效存在的時間值。增加此時間值可減少網(wǎng)絡開銷,而減少此時間值可提高域名轉換的準確性。2
文件傳送協(xié)議
2.1
FTP概述文件傳送協(xié)議
FTP
(File
Transfer
Protocol)
是因特網(wǎng)上使用得最廣泛的文件傳送協(xié)議。FTP
提供交互式的訪問,允許客戶指明文件的類型與格式,并允許文件具有存取權限。FTP
屏蔽了各計算機系統(tǒng)的細節(jié),因而適合于在異構網(wǎng)絡中任意計算機之間傳送文件。RFC
959
很早就成為了因特網(wǎng)的正式標準。文件傳送并非很簡單的問題網(wǎng)絡環(huán)境中的一項基本應用就是將文件從一臺計算機中復制到另一臺可能相距很遠的計算機中。初看起來,在兩個主機之間傳送文件是很簡單的事情。其實這往往非常困難。原因是眾多的計算機廠商研制出的文件系統(tǒng)多達數(shù)百種,且差別很大。2.2
FTP
的基本工作原理網(wǎng)絡環(huán)境下復制文件的復雜性:(1)
計算機存儲數(shù)據(jù)的格式不同。(2)
文件的目錄結構和文件命名的規(guī)定不同。(3)
對于相同的文件存取功能,操作系統(tǒng)使用的命令不同。(4)
訪問控制方法不同。FTP
特點文件傳送協(xié)議
FTP
只提供文件傳送的一些基本的服務,它使用
TCP
可靠的運輸服務。FTP
的主要功能是減少或消除在不同操作系統(tǒng)下處理文件的不兼容性。FTP
使用客戶服務器方式。一個
FTP
服務器進程可同時為多個客戶進程提供服務。FTP
的服務器進程由兩大部分組成:一個主進程,負責接受新的請求;另外有若干個從屬進程,負責處理單個請求。主進程的工作步驟如下打開熟知端口(端口號為
21),使客戶進程能夠連接上。等待客戶進程發(fā)出連接請求。啟動從屬進程來處理客戶進程發(fā)來的請求。從屬進程對客戶進程的請求處理完畢后即終止,但從屬進程在運行期間根據(jù)需要還可能創(chuàng)建其他一些子進程。回到等待狀態(tài),繼續(xù)接受其他客戶進程發(fā)來的請求。主進程與從屬進程的處理是并發(fā)地進行。兩個連接控制連接在整個會話期間一直保持打開,F(xiàn)TP
客戶發(fā)出的傳送請求通過控制連接發(fā)送給服務器端的控制進程,但控制連接不用來傳送文件。實際用于傳輸文件的是“數(shù)據(jù)連接”。服務器端的控制進程在接收到
FTP
客戶發(fā)送來的文件傳輸請求后就創(chuàng)建“數(shù)據(jù)傳送進程”和“數(shù)據(jù)連接”,用來連接客戶端和服務器端的數(shù)據(jù)傳送進程。數(shù)據(jù)傳送進程實際完成文件的傳送,在傳送完畢后關閉“數(shù)據(jù)傳送連接”并結束運行。FTP
使用的兩個
TCP
連接TCP
控制連接
因特網(wǎng)TCP
數(shù)據(jù)連接用戶界面
控制進程
數(shù)據(jù)傳送
進程FTP
客戶端
控制進程
數(shù)據(jù)傳送
進程FTP
服務器端
當客戶進程向服務器進程發(fā)出建立連接請求時,要尋找連接服務器進程的熟知端口(21),同時還要告訴服務器進程自己的另一個端口號碼,用于建立數(shù)據(jù)傳送連接。接著,服務器進程用自己傳送數(shù)據(jù)的熟知端口(20)與客戶進程所提供的端口號碼建立數(shù)據(jù)傳送連接。由于FTP使用了兩個不同的端口號,所以數(shù)據(jù)連接與控制連接不會發(fā)生混亂。兩個不同的端口號使協(xié)議更加簡單和更容易實現(xiàn)。在傳輸文件時還可以利用控制連接(例如,客戶發(fā)送請求終止傳輸)。使用兩個不同端口號的好處NFS
采用另一種思路NFS
允許應用進程打開一個遠地文件,并能在該文件的某一個特定的位置上開始讀寫數(shù)據(jù)。NFS
可使用戶只復制一個大文件中的一個很小的片段,而不需要復制整個大文件。對于上述例子,計算機
A
的
NFS
客戶軟件,把要添加的數(shù)據(jù)和在文件后面寫數(shù)據(jù)的請求一起發(fā)送到遠地的計算機
B
的
NFS
服務器。NFS
服務器更新文件后返回應答信息。在網(wǎng)絡上傳送的只是少量的修改數(shù)據(jù)。2.3
簡單文件傳送協(xié)議
TFTP
(Trivial
File
Transfer
Protocol)TFTP
是一個很小且易于實現(xiàn)的文件傳送協(xié)議。TFTP
使用客戶服務器方式和使用
UDP
數(shù)據(jù)報,因此
TFTP
需要有自己的差錯改正措施。TFTP
只支持文件傳輸而不支持交互。TFTP
沒有一個龐大的命令集,沒有列目錄的功能,也不能對用戶進行身份鑒別。TFTP
的主要特點是(1)
每次傳送的數(shù)據(jù)
PDU
中有
512
字節(jié)的數(shù)據(jù),但最后一次可不足
512
字節(jié)。(2)
數(shù)據(jù)
PDU
也稱為文件塊(block),每個塊按序編號,從
1
開始。(3)
支持
ASCII
碼或二進制傳送。(4)
可對文件進行讀或寫。(5)
使用很簡單的首部。TFTP
的工作很像停止等待協(xié)議發(fā)送完一個文件塊后就等待對方的確認,確認時應指明所確認的塊編號。發(fā)完數(shù)據(jù)后在規(guī)定時間內(nèi)收不到確認就要重發(fā)數(shù)據(jù)
PDU。發(fā)送確認
PDU
的一方若在規(guī)定時間內(nèi)收不到下一個文件塊,也要重發(fā)確認
PDU。這樣就可保證文件的傳送不致因某一個數(shù)據(jù)報的丟失而告失敗。TFTP
的工作很像停止等待協(xié)議在一開始工作時。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é),這正好可作為文件結束的標志。3
按遠程終端協(xié)議
TELNETTELNET
是一個簡單的遠程終端協(xié)議,也是因特網(wǎng)的正式標準。用戶用
TELNET
就可在其所在地通過
TCP
連接注冊(即登錄)到遠地的另一個主機上(使用主機名或
IP
地址)。TELNET
能將用戶的擊鍵傳到遠地主機,同時也能將遠地主機的輸出通過
TCP
連接返回到用戶屏幕。這種服務是透明的,因為用戶感覺到好像鍵盤和顯示器是直接連在遠地主機上。客戶服務器方式現(xiàn)在由于
PC
機的功能越來越強,用戶已較少使用
TELNET
了。TELNET
也使用客戶服務器方式。在本地系統(tǒng)運行
TELNET
客戶進程,而在遠地主機則運行
TELNET
服務器進程。和
FTP
的情況相似,服務器中的主進程等待新的請求,并產(chǎn)生從屬進程來處理每一個連接。
TELNET
使用網(wǎng)絡虛擬終端
NVT
格式
因特網(wǎng)
TCP
連接使用
NVT
格式
客戶端
客戶使用客戶端的格式
服務器端
服務器使用服務器端的格式網(wǎng)絡虛擬終端
NVT
格式客戶軟件把用戶的擊鍵和命令轉換成
NVT格式,并送交服務器。服務器軟件把收到的數(shù)據(jù)和命令,從
NVT格式轉換成遠地系統(tǒng)所需的格式。向用戶返回數(shù)據(jù)時,服務器把遠地系統(tǒng)的格式轉換為
NVT
格式,本地客戶再從NVT
格式轉換到本地系統(tǒng)所需的格式。4
萬維網(wǎng)
WWW
4.1
萬維網(wǎng)概述萬維網(wǎng)
WWW
(World
Wide
Web)并非某種特殊的計算機網(wǎng)絡。萬維網(wǎng)是一個大規(guī)模的、聯(lián)機式的信息儲藏所。萬維網(wǎng)用鏈接的方法能非常方便地從因特網(wǎng)上的一個站點訪問另一個站點,從而主動地按需獲取豐富的信息。這種訪問方式稱為“鏈接”。萬維網(wǎng)提供分布式服務萬維網(wǎng)站點
A萬維網(wǎng)站點
C萬維網(wǎng)站點
E萬維網(wǎng)站點
D萬維網(wǎng)站點
B
超媒體與超文本萬維網(wǎng)是分布式超媒體(hypermedia)系統(tǒng),它是超文本(hypertext)系統(tǒng)的擴充。一個超文本由多個信息源鏈接成。利用一個鏈接可使用戶找到另一個文檔。這些文檔可以位于世界上任何一個接在因特網(wǎng)上的超文本系統(tǒng)中。超文本是萬維網(wǎng)的基礎。超媒體與超文本的區(qū)別是文檔內(nèi)容不同。超文本文檔僅包含文本信息,而超媒體文檔還包含其他表示方式的信息,如圖形、圖像、聲音、動畫,甚至活動視頻圖像。萬維網(wǎng)的工作方式萬維網(wǎng)以客戶服務器方式工作。瀏覽器就是在用戶計算機上的萬維網(wǎng)客戶程序。萬維網(wǎng)文檔所駐留的計算機則運行服務器程序,因此這個計算機也稱為萬維網(wǎng)服務器。客戶程序向服務器程序發(fā)出請求,服務器程序向客戶程序送回客戶所要的萬維網(wǎng)文檔。在一個客戶程序主窗口上顯示出的萬維網(wǎng)文檔稱為頁面(page)。萬維網(wǎng)必須解決的問題(1)
怎樣標志分布在整個因特網(wǎng)上的萬維網(wǎng)文檔?
使用統(tǒng)一資源定位符
URL
(Uniform
ResourceLocator)來標志萬維網(wǎng)上的各種文檔。
使每一個文檔在整個因特網(wǎng)的范圍內(nèi)具有唯一的標識符
URL。
萬維網(wǎng)必須解決的問題(2)
用何協(xié)議實現(xiàn)萬維網(wǎng)上各種超鏈的鏈接?在萬維網(wǎng)客戶程序與萬維網(wǎng)服務器程序之間進行交互所使用的協(xié)議,是超文本傳送協(xié)議HTTP
(HyperText
Transfer
Protocol)。HTTP
是一個應用層協(xié)議,它使用
TCP
連接進行可靠的傳送。萬維網(wǎng)必須解決的問題(3)
怎樣使各種萬維網(wǎng)文檔都能在因特網(wǎng)上的各
種計算機上顯示出來,同時使用戶清楚地知
道在什么地方存在著超鏈?
超文本標記語言
HTML
(HyperText
Markup
Language)使得萬維網(wǎng)頁面的設計者可以很
方便地用一個超鏈從本頁面的某處鏈接到因
特網(wǎng)上的任何一個萬維網(wǎng)頁面,并且能夠在
自己的計算機屏幕上將這些頁面顯示出來。萬維網(wǎng)必須解決的問題(4)
怎樣使用戶能夠很方便地找到所需的信息?
為了在萬維網(wǎng)上方便地查找信息,用戶可使用各種的搜索工具(即搜索引擎)。4.2
統(tǒng)一資源定位符
URL
1.
URL的格式統(tǒng)一資源定位符
URL
是對可以從因特網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示。URL
給資源的位置提供一種抽象的識別方法,并用這種方法給資源定位。只要能夠對資源定位,系統(tǒng)就可以對資源進行各種操作,如存取、更新、替換和查找其屬性。URL
相當于一個文件名在網(wǎng)絡范圍的擴展。因此URL
是與因特網(wǎng)相連的機器上的任何可訪問對象的一個指針。URL
的一般形式由以冒號隔開的兩大部分組成,并且在
URL中的字符對大寫或小寫沒有要求。URL
的一般形式是:
<協(xié)議>://<主機>:<端口>/<路徑>
ftp
——
文件傳送協(xié)議
FTP
http
——
超文本傳送協(xié)議
HTTP
News
——
USENET
新聞URL
的一般形式(續(xù))由以冒號隔開的兩大部分組成,并且在
URL中的字符對大寫或小寫沒有要求。URL
的一般形式是:
<協(xié)議>://<主機>:<端口>/<路徑>
<主機>
是存放資源的主機
在因特網(wǎng)中的域名URL
的一般形式(續(xù))由以冒號隔開的兩大部分組成,并且在
URL中的字符對大寫或小寫沒有要求。URL
的一般形式是:
<協(xié)議>://<主機>:<端口>/<路徑>
有時可省略使用
HTTP
的
URL使用
HTTP
的
URL
的一般形式
http://<主機>:<端口>/<路徑>這表示使用
HTTP
協(xié)議使用
HTTP
的
URL使用
HTTP
的
URL
的一般形式
http://<主機>:<端口>/<路徑>冒號和兩個斜線是規(guī)定的格式使用
HTTP
的
URL使用
HTTP
的
URL
的一般形式
http://<主機>:<端口>/<路徑>
這里寫主機的域名使用
HTTP
的
URL使用
HTTP
的
URL
的一般形式
http://<主機>:<端口>/<路徑>
HTTP
的默認端口號是
80,通常可省略使用
HTTP
的
URL使用
HTTP
的
URL
的一般形式
http://<主機>:<端口>/<路徑>
若再省略文件的<路徑>項,則
URL
就指到
因特網(wǎng)上的某個主頁(home
page)。4.3
超文本傳送協(xié)議
HTTP
1.
HTTP
的操作過程為了使超文本的鏈接能夠高效率地完成,需要用
HTTP
協(xié)議來傳送一切必須的信息。從層次的角度看,HTTP
是面向事務的(transaction-oriented)應用層協(xié)議,它是萬維網(wǎng)上能夠可靠地交換文件(包括文本、聲音、圖像等各種多媒體文件)的重要基礎。萬維網(wǎng)的工作過程
服務器鏈接到URL的超鏈
客戶清華大學院系設置瀏覽器
服務器
程序
程序
HTTP
HTTP
使用此
TCP
連接
因特網(wǎng)
建立
TCP
連接
響應文檔
HTTP
請求報文
HTTP
響應報文釋放
TCP
連接
請求文檔用戶點擊鼠標后所發(fā)生的事件(1)
瀏覽器分析超鏈指向頁面的
URL。(2)
瀏覽器向
DNS
請求解析
的IP
地址。(3)
域名系統(tǒng)
DNS
解析出清華大學服務器的
IP
地址。(4)
瀏覽器與服務器建立
TCP
連接(5)
瀏覽器發(fā)出取文件命令:
GET
/chn/yxsz/index.htm。(6)
服務器給出響應,把文件
index.htm
發(fā)給瀏覽器。(7)
TCP
連接釋放。(8)
瀏覽器顯示“清華大學院系設置”文件
index.htm中的所有文本。HTTP
的主要特點HTTP
是面向事務的客戶服務器協(xié)議。HTTP
1.0
協(xié)議是無狀態(tài)的(stateless)。HTTP
協(xié)議本身也是無連接的,雖然它使用了面向連接的
TCP
向上提供的服務。請求一個萬維網(wǎng)文檔所需的時間
萬維網(wǎng)客戶發(fā)起
TCP
連接
RTT
HTTP
請求報文
RTT
整個文檔收到
時間萬維網(wǎng)服務器
傳輸文檔的時間
時間
持續(xù)連接(persistent
connection)HTTP/1.1
協(xié)議使用持續(xù)連接。萬維網(wǎng)服務器在發(fā)送響應后仍然在一段時間內(nèi)保持這條連接,使同一個客戶(瀏覽器)和該服務器可以繼續(xù)在這條連接上傳送后續(xù)的HTTP
請求報文和響應報文。這并不局限于傳送同一個頁面上鏈接的文檔,而是只要這些文檔都在同一個服務器上就行。目前一些流行的瀏覽器(例如,IE
0)的默認設置就是使用
HTTP/1.1。持續(xù)連接的兩種工作方式非流水線方式:客戶在收到前一個響應后才能發(fā)出下一個請求。這比非持續(xù)連接的兩倍
RTT的開銷節(jié)省了建立
TCP
連接所需的一個
RTT時間。但服務器在發(fā)送完一個對象后,其
TCP連接就處于空閑狀態(tài),浪費了服務器資源。流水線方式:客戶在收到
HTTP
的響應報文之前就能夠接著發(fā)送新的請求報文。一個接一個的請求報文到達服務器后,服務器就可連續(xù)發(fā)回響應報文。使用流水線方式時,客戶訪問所有的對象只需花費一個
RTT時間,使
TCP
連接中的空閑時間減少,提高了下載文檔效率。
代理服務器(proxy
server)代理服務器(proxy
server)又稱為萬維網(wǎng)高速緩存(Web
cache),它代表瀏覽器發(fā)出
HTTP
請求。萬維網(wǎng)高速緩存把最近的一些請求和響應暫存在本地磁盤中。當與暫時存放的請求相同的新請求到達時,萬維網(wǎng)高速緩存就把暫存的響應發(fā)送出去,而不需要按
URL
的地址再去因特網(wǎng)訪問該資源。校園網(wǎng)源點服務器2
Mb/s因特網(wǎng)瀏覽器R1R2這條鏈路上的時延很大
使用高速緩存可減少訪問因特網(wǎng)服務器的時延
沒有使用高速緩存的情況所有萬維網(wǎng)通信量
都經(jīng)過這條鏈路校園網(wǎng)的高速緩存
(代理服務器)2
Mb/s因特網(wǎng)瀏覽器R1R2
使用高速緩存的情況(1)
瀏覽器訪問因特網(wǎng)的服務器時,要先與校園網(wǎng)的高速緩存建立
TCP
連接,并向高速緩存發(fā)出
HTTP請求報文
源點服務器
校園網(wǎng)校園網(wǎng)的高速緩存
(代理服務器)2
Mb/s因特網(wǎng)瀏覽器R1R2
使用高速緩存的情況(2)
若高速緩存已經(jīng)存放了所請求的對象,則將此對象放入
HTTP
響應報文中返回給瀏覽器。
源點服務器
校園網(wǎng)校園網(wǎng)的高速緩存
(代理服務器)2
Mb/s因特網(wǎng)瀏覽器R1R2
使用高速緩存的情況(3)
否則,高速緩存就代表發(fā)出請求的用戶瀏覽器,與因特網(wǎng)上的源點服務器建立
TCP
連接,并發(fā)送HTTP
請求報文。
源點服務器
校園網(wǎng)校園網(wǎng)的高速緩存
(代理服務器)2
Mb/s因特網(wǎng)瀏覽器R1R2
使用高速緩存的情況(4)
源點服務器將所請求的對象放在
HTTP
響應報文中返回給校園網(wǎng)的高速緩存。
源點服務器
校園網(wǎng)校園網(wǎng)的高速緩存
(代理服務器)2
Mb/s因特網(wǎng)瀏覽器R1R2
使用高速緩存的情況(5)
高速緩存收到此對象后,先復制在其本地存儲器中(為今后使用),然后再將該對象放在
HTTP
響應報文中,通過已建立的
TCP
連接,返回給請求該對象的瀏覽器。
源點服務器
校園網(wǎng)3.
HTTP
的報文結構HTTP
有兩類報文:
請求報文——從客戶向服務器發(fā)送請求報文。
響應報文——從服務器到客戶的回答。
由于
HTTP
是面向正文的(text-oriented),因
此在報文中的每一個字段都是一些
ASCII
碼串,
因而每個字段的長度都是不確定的。…HTTP
的報文結構(請求報文)方
法URL版
本:請求行空格回車換行首部字段名
:CRLF值
CRLF首部字段名
:
值
CRLF
首部行CRLF
實體主體
(通常不用)報文由三個部分組成,即開始行、首部行和實體主體。在請求報文中,開始行就是請求行。開始行…HTTP
的報文結構(請求報文)方
法URL版
本:請求行空格回車換行首部字段名
:CRLF值
CRLF首部字段名
:
值
CRLF
首部行CRLF
實體主體
(通常不用)“方法”是面向對象技術中使用的專門名詞。所謂“方法”就是對所請求的對象進行的操作,因此這些方法實際上也就是一些命令。因此,請求報文的類型是由它所采用的方法決定的。HTTP
請求報文的一些方法方法(操作)OPTIONGETHEADPOSTPUTDELETETRACECONNECT
意義請求一些選項的信息請求讀取由
URL所標志的信息
請求讀取由
URL所標志的信息的首部給服務器添加信息(例如,注釋)在指明的
URL下存儲一個文檔刪除指明的
URL所標志的資源用來進行環(huán)回測試的請求報文用于代理服務器…HTTP
的報文結構(請求報文)方
法URL版
本:請求行空格回車換行首部字段名
:CRLF值
CRLF首部字段名
:
值
CRLF
首部行CRLF
實體主體
(通常不用)“URL”是所請求的資源的
URL。…HTTP
的報文結構(請求報文)方
法URL版
本:請求行空格回車換行首部字段名
:CRLF值
CRLF首部字段名
:
值
CRLF
首部行CRLF
實體主體
(通常不用)“版本”是
HTTP
的版本。…HTTP
的報文結構(響應報文)版
本狀態(tài)碼短
語:狀態(tài)行空格回車換行首部字段名
:CRLF值
CRLF首部字段名
:
值
CRLF
首部行CRLF
實體主體
(有些響應報文不用)響應報文的開始行是狀態(tài)行。狀態(tài)行包括三項內(nèi)容,即
HTTP
的版本,狀態(tài)碼,以及解釋狀態(tài)碼的簡單短語。開始行狀態(tài)碼都是三位數(shù)字1xx
表示通知信息的,如請求收到了或正在進行處理。2xx
表示成功,如接受或知道了。3xx
表示重定向,表示要完成請求還必須采取進一步的行動。4xx
表示客戶的差錯,如請求中有錯誤的語法或不能完成。5xx
表示服務器的差錯,如服務器失效無法完成請求。4.
在服務器上存放用戶的信息萬維網(wǎng)站點使用
Cookie
來跟蹤用戶。Cookie
表示在
HTTP
服務器和客戶之間傳遞的狀態(tài)信息。使用
Cookie
的網(wǎng)站服務器為用戶產(chǎn)生一個唯一的識別碼。利用此識別碼,網(wǎng)站就能夠跟蹤該用戶在該網(wǎng)站的活動。
4.4
萬維網(wǎng)的文檔1.
超文本標記語言
HTML超文本標記語言
HTML
中的
Markup
的意思就是“設置標記”。HTML
定義了許多用于排版的命令(即標簽)。HTML
把各種標簽嵌入到萬維網(wǎng)的頁面中。這樣就構成了所謂的
HTML
文檔。HTML
文檔是一種可以用任何文本編輯器創(chuàng)建的
ASCII
碼文件。HTML
文檔僅當
HTML
文檔是以.html
或
.htm
為后綴時,瀏覽器才對此
文檔的各種標簽進行解釋。如
HTML
文檔改換以
.txt
為其后綴,則
HTML解釋程序就不對標簽進行解釋,而瀏覽器只能看見原來的文本文件。當瀏覽器從服務器讀取
HTML
文檔后,就按照HTML
文檔中的各種標簽,根據(jù)瀏覽器所使用的顯示器的尺寸和分辨率大小,重新進行排版并恢復出所讀取的頁面。HTML
文檔中標簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>HTML
文檔開始
HTML
文檔中標簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>首部開始HTML
文檔中標簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>標題
HTML
文檔中標簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>首部結束
HTML
文檔中標簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>主體開始
HTML
文檔中標簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>1級標題</HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>
HTML
文檔中標簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE>第一個段落
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>
HTML
文檔中標簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>第二個段落
HTML
文檔中標簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>主體結束
HTML
文檔中標簽的用法<HTML><HEAD>
<TITLE>一個
HTML
的例子</TITLE></HEAD><BODY>
<H1>HTML
很容易掌握</H1>
<P>這是第一個段落。雖然很
短,但它仍是一個段落。</P>
<P>這是第二個段落。</P></BODY></HTML>HTML
文檔結束兩種不同的鏈接遠程鏈接:超鏈的終點是其他網(wǎng)點上的頁面。本地鏈接:超鏈指向本計算機中的某個文件。2.
動態(tài)萬維網(wǎng)文檔靜態(tài)文檔是指該文檔創(chuàng)作完畢后就存放在萬維網(wǎng)服務器中,在被用戶瀏覽的過程中,內(nèi)容不會改變。動態(tài)文檔是指文檔的內(nèi)容是在瀏覽器訪問萬維網(wǎng)服務器時才由應用程序動態(tài)創(chuàng)建。動態(tài)文檔和靜態(tài)文檔之間的主要差別體現(xiàn)在服務器一端。這主要是文檔內(nèi)容的生成方法不同。而從瀏覽器的角度看,這兩種文檔并沒有區(qū)別。萬維網(wǎng)服務器功能的擴充(1)
應增加另一個應用程序,用來處理瀏覽器發(fā)來的數(shù)據(jù),并創(chuàng)建動態(tài)文檔。(2)
應增加一個機制,用來使萬維網(wǎng)服務器
把瀏覽器發(fā)來的數(shù)據(jù)傳送給這個應用程
序,然后萬維網(wǎng)服務器能夠解釋這個應
用程序的輸出,并向瀏覽器返回
HTML
文檔。CGI
響應動態(tài)文檔瀏覽器
程序
擴充了功能的萬維網(wǎng)服務器
萬維網(wǎng)服務器萬維網(wǎng)客戶服務器
程序HTTP數(shù)據(jù)庫
請求文檔
HTTP
請求報文
HTTP
響應報文
CGI
程序創(chuàng)建
動態(tài)文檔
通用網(wǎng)關接口
CGI(Common
Gateway
Interface)CGI
是一種標準,它定義了動態(tài)文檔應如何創(chuàng)建,輸入數(shù)據(jù)應如何提供給應用程序,以及輸出結果應如何使用。萬維網(wǎng)服務器與
CGI
的通信遵循
CGI
標準。“通用”:CGI
標準所定義的規(guī)則對其他任何語言都是通用的。“網(wǎng)關”:CGI
程序的作用像網(wǎng)關。“接口”:有一些已定義好的變量和調用等可供其他
CGI
程序使用。CGI
程序CGI
程序的正式名字是
CGI
腳本(script)。“腳本”指的是一個程序,它被另一個程序(解釋程序)而不是計算機的處理機來解釋或執(zhí)行。腳本運行起來要比一般的編譯程序要慢,因為它的每一條指令先要被另一個程序來處理(這就要一些附加的指令),而不是直接被指令處理器來處理。3.
活動萬維網(wǎng)文檔活動文檔(active
document)技術把所有的工作都轉移給瀏覽器端。每當瀏覽器請求一個活動文檔時,服務器就返回一段程序副本在瀏覽器端運行。活動文檔程序可與用戶直接交互,并可連續(xù)地改變屏幕的顯示。由于活動文檔技術不需要服務器的連續(xù)更新傳送,對網(wǎng)絡帶寬的要求也不會太高。HTTP
請求報文HTTP
響應報文
程序活動文檔在客戶端創(chuàng)建萬維網(wǎng)服務器瀏覽器
程序萬維網(wǎng)客戶服務器
程序HTTP
程序事先被編譯
成二進制代碼,
存放為文件
響應程序程序
此程序在
客戶端創(chuàng)建
出活動文檔
請求文檔文檔用
Java
技術創(chuàng)建活動文檔由美國
Sun
公司開發(fā)的
Java
語言是一項用于創(chuàng)建和運行活動文檔的技術。在
Java
技術中使用
“小應用程序”(applet)來描述活動文檔程序。用戶從萬維網(wǎng)服務器下載嵌入了
Java
小應用程序的
HTML
文檔后,可在瀏覽器的屏幕上點擊某個圖像,就可看到動畫效果,或在下拉式菜單中點擊某個項目,就可看到計算結果。Java
技術是活動文檔技術的一部分。Java
技術裝三個主要組成部分(1)
程序設計語言。Java
包含一個新的程序設計
語言,用來編寫傳統(tǒng)的計算機程序和
Java
小
應用程序。(2)
運行(runtime)環(huán)境。這是運行
Java
程序所必
須的運行環(huán)境,其中包括
Java
虛擬機(簡稱
為
JVM),該軟件定義了
Java
二進制代碼的
執(zhí)行模型。(3)
類庫(class
library)。為了更容易編寫
Java
小應用程序,Java
提供了強大的類庫支持。JavaJava
是一種面向對象的高級語言,從
C++
派生出來的,它省略了
C++
很多復雜的、很少用的語言特點。Java
的每一個數(shù)據(jù)項都有一個確定的類型。對數(shù)據(jù)的操作嚴格按照該數(shù)據(jù)的類型來進行。Java
的編譯程序將源程序轉換成
Java
字節(jié)碼(bytecode),這是一種與機器無關的二進制代碼。計算機程序調用解釋程序讀取字節(jié)碼,并解釋執(zhí)行。計算機硬件無關Java
語言、字節(jié)碼以及
Java
運行系統(tǒng)都被設計成與計算機硬件無關。一旦形成了字節(jié)碼,就可在任何計算機上運行并產(chǎn)生相同的輸出。Java
小應用程序與機器無關可使在任何計算機上運行的瀏覽器程序能夠下載并運行活動文檔。可保證活動文檔在所有的瀏覽器上產(chǎn)生同樣的正確輸出。可大大地降低活動文檔的創(chuàng)建和測試費用,因為不必為每一種計算機都制作一個副本。Java
解釋程序運行
Java
的瀏覽器需要有
HTML
解釋程序和
Java
小應用程序解釋程序。解釋程序的核心是一個模仿計算機的簡單循環(huán)。解釋程序維持一個指令指針,在初始化時指在小應用程序的開始處。在每一次循環(huán)操作時,解釋程序在指令指針指向的地址讀取字節(jié)碼。然后解釋程序對字節(jié)碼進行解碼,并完成指明的操作。…4.
瀏覽器的結構
與遠地服務器通信輸出至顯示器從鼠標和鍵盤輸入網(wǎng)絡接口可選客戶程序HTML解釋程序
可選解釋程序控制程序驅動程序HTTP
客戶程序
…緩存瀏覽器的主要組成部分瀏覽器有一組客戶、一組解釋程序,以及管理這些客戶和解釋程序的控制程序。控制程序是其中的核心部件,它解釋鼠標的點擊和鍵盤的輸入,并調用有關的組件來執(zhí)行用戶指定的操作。例如,當用戶用鼠標點擊一個超鏈的起點時,控制程序就調用一個客戶從所需文檔所在的遠地服務器上取回該文檔,并調用解釋程序向用戶顯示該文檔。解釋程序HTML
解釋程序是必不可少的,而其他的解釋程序則是可選的。解釋程序把
HTML
規(guī)格轉換為適合用戶顯示硬件的命令來處理版面的細節(jié)。許多瀏覽器還包含
FTP
客戶程序,用來獲取文件傳送服務。一些瀏覽器也包含電子郵件客戶程序,使瀏覽器能夠發(fā)送和接收電子郵件。瀏覽器中的緩存瀏覽器將它取回的每一個頁面副本都放入本地磁盤的緩存中。當用戶用鼠標點擊某個選項時,瀏覽器首先檢查磁盤的緩存。若緩存中保存了該項,瀏覽器就直接從緩存中得到該項副本而不必從網(wǎng)絡獲取,這樣就明顯地改善瀏覽器的運行特性。
。但緩存要占用磁盤大量的空間,而瀏覽器性能的改善只有在用戶再次查看緩存中的頁面時才有幫助。許多瀏覽器允許用戶調整緩存策略。
4.5
萬維網(wǎng)的信息檢索系統(tǒng)1.
全文檢索搜索和分類目錄搜索在萬維網(wǎng)中用來進行搜索的程序叫做搜索引擎。全文檢索搜索引擎是一種純技術型的檢索工具。它的工作原理是通過搜索軟件到因特網(wǎng)上的各網(wǎng)站收集信息,找到一個網(wǎng)站后可以從這個網(wǎng)站再鏈接到另一個網(wǎng)站。然后按照一定的規(guī)則建立一個很大的在線數(shù)據(jù)庫供用戶查詢。用戶在查詢時只要輸入關鍵詞,就從已經(jīng)建立的索引數(shù)據(jù)庫上進行查詢(并不是實時地在因特網(wǎng)上檢索到的信息)。分類目錄搜索分類目錄搜索引擎并不采集網(wǎng)站的任何信息,而是利用各網(wǎng)站向搜索引擎提交的網(wǎng)站信息時填寫的關鍵詞和網(wǎng)站描述等信息,經(jīng)過人工審核編輯后,如果認為符合網(wǎng)站登錄的條件,則輸入到分類目錄的數(shù)據(jù)庫中,供網(wǎng)上用戶查詢。分類目錄搜索也叫做分類網(wǎng)站搜索。一些著名的搜索引擎最著名的全文檢索搜索引擎:Google(谷歌)()百度
()最著名的分類目錄搜索引擎:雅虎
()雅虎中國
()新浪
()搜狐
()網(wǎng)易
()
垂直搜索引擎(Vertical
Search
Engine)針對某一特定領域、特定人群或某一特定需求提供搜索服務。垂直搜索也是提供關鍵字來進行搜索的,但被放到了一個行業(yè)知識的上下文中,返回的結果更傾向于信息、消息、條目等。5
電子郵件
5.1
概述電子郵件(e-mail)是因特網(wǎng)上使用得最多的和最受用戶歡迎的一種應用。電子郵件把郵件發(fā)送到收件人使用的郵件服務器,并放在其中的收件人郵箱中,收件人可隨時上網(wǎng)到自己使用的郵件服務器進行讀取。電子郵件不僅使用方便,而且還具有傳遞迅速和費用低廉的優(yōu)點。現(xiàn)在電子郵件不僅可傳送文字信息,而且還可附上聲音和圖像。電子郵件的一些標準發(fā)送郵件的協(xié)議:SMTP讀取郵件的協(xié)議:POP3
和
IMAPMIME
在其郵件首部中說明了郵件的數(shù)據(jù)類型(如文本、聲音、圖像、視像等),使用
MIME
可在郵件中同時傳送多種類型的數(shù)據(jù)。電子郵件的最主要的組成構件郵件緩存
接收端郵件服務器
發(fā)送端郵件服務器接收方發(fā)送方
(發(fā)送郵件)(發(fā)送郵件)
SMTP用戶郵箱
(讀取郵件)
POP3
SMTP
因特網(wǎng)
用戶代理用戶代理SMTPPOP3發(fā)送郵件
SMTPTCP連接TCP連接
發(fā)送方發(fā)送
郵件服務器郵件SMTP客戶POP3客戶
發(fā)件人用戶代理
接收方郵件服務器
讀取
郵件服務器POP3服務器
SMTPSMTP服務器
SMTP客戶
收件人用戶代理TCP
連接用戶信箱用戶接口用戶代理
UA
客戶(發(fā)送郵件)服務器
(接收郵件)報文傳輸代理
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)的接口,是電子郵件客戶端軟件。用戶代理的功能:撰寫、顯示、處理和通信。郵件服務器的功能是發(fā)送和接收郵件,同時還要向發(fā)信人報告郵件傳送的情況(已交付、被拒絕、丟失等)。郵件服務器按照客戶服務器方式工作。郵件服務器需要使用發(fā)送和讀取兩個不同的協(xié)議。應當注意一個郵件服務器既可以作為客戶,也可以作為服務器。例如,當郵件服務器
A
向另一個郵件服務器
B發(fā)送郵件時,郵件服務器
A
就作為
SMTP
客戶,而
B
是
SMTP
服務器。當郵件服務器
A
從另一個郵件服務器
B
接收郵件時,郵件服務器
A
就作為
SMTP
服務器,而
B
是
SMTP
客戶。發(fā)送和接收電子郵件的幾個重要步驟
發(fā)件人調用
PC
機中的用戶代理撰寫和編輯要發(fā)送的郵件。
發(fā)件人的用戶代理把郵件用
SMTP
協(xié)議發(fā)給發(fā)送方郵件服務器,
SMTP
服務器把郵件臨時存放在郵件緩存隊列中,等待發(fā)送。
發(fā)送方郵件服務器的
SMTP
客戶與接收方郵
件服務器的
SMTP
服務器建立
TCP
連接,然
后就把郵件緩存隊列中的郵件依次發(fā)送出去。發(fā)送和接收電子郵件的幾個重要步驟(續(xù))
運行在接收方郵件服務器中的SMTP服
務器進
程收到郵件后,把郵件放入收件
人的用戶郵箱中,等待收件人進行讀取。
收件人在打算收信時,就運行
PC
機中
的用戶代理,使用
POP3(或
IMAP)協(xié)
議讀取發(fā)送給自己的郵件。
請注意,POP3
服務器和
POP3
客戶之間的通信是由
POP3
客戶發(fā)起的。電子郵件地址的格式TCP/IP
體系的電子郵件系統(tǒng)規(guī)定電子郵件地址的格式如下:
收件人郵箱名@郵箱所在主機的域名符號“@”讀作“at”,表示“在”的意思。
例:電子郵件地址
xiexiren@郵箱所在的主機的域名在全世界必須是唯一的這個用戶名在該域名的范圍內(nèi)是唯一的。5.2
簡單郵件傳送協(xié)議
SMTPSMTP
所規(guī)定的就是在兩個相互通信的
SMTP
進程之間應如何交換信息。由于
SMTP
使用客戶服務器方式,因此負責發(fā)送郵件的
SMTP
進程就是
SMTP
客戶,而負責接收郵件的
SMTP
進程就是
SMTP
服務器。SMTP
規(guī)定了
14
條命令和
21
種應答信息。每條命令用
4
個字母組成,而每一種應答信息一般只有一行信息,由一個
3
位數(shù)字的代碼開始,后面附上(也可不附上)很簡單的文字說明。SMTP
通信的三個階段1.
連接建立:連接是在發(fā)送主機的
SMTP
客戶和接收主機的
SMTP
服務器之間建立的。SMTP不使用中間的郵件服務器。2.
郵件傳送3.
連接釋放:郵件發(fā)送完畢后,SMTP
應釋放TCP
連接。連接建立發(fā)信人先將準備發(fā)送的郵件送到郵件緩沖區(qū),SMTP
client
每隔一定時間(例如30分鐘)對郵件緩沖區(qū)掃描一次,如發(fā)現(xiàn)有郵件,就以client
的身份與目的主機(SMTPserver)的Well-known的端口號(25)建立TCP連接并發(fā)送連接建立過程在連接建立后,SMTP
server
要發(fā)出:“
220
service
Ready
”然后SMTP
client
向SMTP
server
發(fā)送:
“
HELO
”
命令,附上發(fā)送方的主機名SMTP
server
若有能力接收郵件,則回答:“
250
OK
”表示已準備好接收,若SMTP
server
不可用,則回答:“
421
Service
not
available
”如在一定時間內(nèi)(例如兩天)發(fā)送不了郵件,則將郵件退還發(fā)信人郵件傳送—詢問服務器是否準備好郵件的傳送從MAIL命令開始,在MAIL命令后面有發(fā)信人的地址,如:MAIL
FROM:<ybzhang@>若SMTP
server
已準備好接收郵件,則回
“
250
OK
”否則,返回一個代碼,指出原因如:
451(處理時出錯)
452(存儲空間不夠)
500(命令無法識別)郵件傳送—驗證收信人地址RCPT
TO:<收信人地址>每發(fā)送一個命令,都應當有相應的信息從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
應發(fā)送QUIT命令SMTP
server
返回的信息是:“
250
OK
”SMTP
client
再發(fā)出釋放TCP連接的命令,待SMTPserver
回答后,郵件傳送的全部過程即結束郵件服務器郵件服務器即
“
郵局
”,通常郵件服務器是不會關機的郵件服務器應為每個注冊用戶提供用戶
信箱(mailbox)并設定E-mail地址交大計算機系的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ā)送者)進行全面的認證,因此我們不能通過郵件的發(fā)送地址來確認郵件的發(fā)送者。5.3
電子郵件的信息格式一個電子郵件分為信封和內(nèi)容兩大部分。RFC
822沒有明顯地區(qū)分信封和頭部字段,只規(guī)定了郵件內(nèi)容中的首部(header)格式,而對郵件的主體(body)部分則讓用戶自由撰寫。因此郵件就由頭部和消息體組成用戶寫好首部后,郵件系統(tǒng)將自動地將信封所需的信息提取出來并寫在信封上。所以用戶不需要填寫電子郵件信封上的信息。郵件內(nèi)容首部包括一些關鍵字,后面加上冒號。最重要的關鍵字是:To
和
Subject。RFC
822RFC
822
沒有明顯地區(qū)分信封和頭部字段,因此郵件就由頭部和消息體組成通常用戶代理創(chuàng)建一條消息交給傳輸代理,由它去構建一個信封郵件內(nèi)容的首部“To:”后面填入一個或多個收件人的電子郵件地址。用戶只需打開地址簿,點擊收件人名字,收件人的電子郵件地址就會自動地填入到合適的位置上。
“Subject:”是郵件的主題。它反映了郵件的主要內(nèi)容,便于用戶查找郵件。抄送
“Cc:”
表示應給某某人發(fā)送一個郵件副本。“From”
和
“Date”
表示發(fā)信人的電子郵件地址和發(fā)信日期。“Reply-To”
是對方回信所用的地址。頭字段意義To:接收者的地址Cc:第二接收者的地址Bcc:秘密拷貝者的地址From:發(fā)送者名字Sender:發(fā)送者的地址Received:沿途每一個轉發(fā)者增加的信息行Return-Path:標識返回發(fā)送者的路徑與消息傳輸相關的頭部字段Tnbm
P595
Fig.
7-9
與消息有關的RFC
822頭部字段頭字段含義Date:發(fā)送消息的日期和時間Reply-To:回信應送達的電子郵件地址Message-ID:以后引用此消息的唯一標識號In-Reply-To:回信消息的標識號References:其它相關消息的標識號(一個或多個)Keywords:用戶選擇的關鍵字Subject:用于一行顯示的本消息的簡短摘要用戶代理或接收者使用的頭部字段Tnbm
P596
Fig.
7-10
RFC
822消息頭中使用的一些字段5.4
郵件讀取協(xié)議
POP3
和
IMAP郵局協(xié)議
POP是一個非常簡單、但功能有限的郵件讀取協(xié)議,現(xiàn)在使用的是它的第三個版本POP3。POP也使用客戶服務器的工作方式。在接收郵件的用戶
PC
機中必須運行
POP
客戶程序,而在用戶所連接的
ISP
的郵件服務器中則運行POP服務器程序。
IMAP
協(xié)議(Internet
Message
Access
Protocol)IMAP
也是按客戶服務器方式工作,現(xiàn)在較新的是版本
4,即
IMAP4。用戶在自己的
PC
機上就可以操縱
ISP
的郵件服務器的郵箱,就像在本地操縱一樣。因此
IMAP
是一個聯(lián)機協(xié)議。當用戶
PC
機上的
IMAP
客戶程序打開
IMAP
服務器的郵箱時,用戶就可看到郵件的首部。若用戶需要打開某個郵件,則該郵件才傳到用戶的計算機上。IMAP
的特點IMAP最大的好處就是用戶可以在不同的地方使用不同的計算機隨時上網(wǎng)閱讀和處理自己的郵件。IMAP
還允許收件人只讀取郵件中的某一個部分。例如,收到了一個帶有視像附件(此文件可能很大)的郵件。為了節(jié)省時間,可以先下載郵件的正文部分,待以后有時間再讀取或下載這個很長的附件。IMAP
的缺點是如果用戶沒有將郵件復制到自己的PC
機上,則郵件一直是存放在
IMAP
服務器上。因此用戶需要經(jīng)常與
IMAP
服務器建立連接。必須注意不要將郵件讀取協(xié)議
POP
或
IMAP
與郵件傳送協(xié)議
SMTP
弄混。發(fā)信人的用戶代理向源郵件服務器發(fā)送郵件,以及源郵件服務器向目的郵件服務器發(fā)送郵件,都是使用
SMTP
協(xié)議。而
POP
協(xié)議或
IMAP
協(xié)議則是用戶從目的郵件服務器上讀取郵件所使用的協(xié)議。5.5
基于萬維網(wǎng)的電子郵件電子郵件從
A
發(fā)送到網(wǎng)易郵件服務器是使用
HTTP
協(xié)議。兩個郵件服務器之間的傳送使用
SMTP。郵件從新浪郵件服務器傳送到
B
是使用HTTP
協(xié)議。ABSMTP網(wǎng)易郵件服務器
HTTP新浪郵件服務器
HTTP5.6
通用因特網(wǎng)郵件擴充
MIME1.
MIME
概述SMTP
有以下缺點:
SMTP
不能傳送可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南都市職業(yè)學院《大學音樂基礎與鑒賞》2023-2024學年第一學期期末試卷
- 西安鐵路職業(yè)技術學院《城市生態(tài)學》2023-2024學年第二學期期末試卷
- 土方承包合同書
- 公對公借款合同擔保人
- 公益宣傳片電視播出合作合同
- 房屋租賃轉讓合同
- 房地產(chǎn)營銷代理合同
- 外墻翻新施工合同書
- 勞動爭議勞務派遣合同簽訂
- 學校教職工勞動合同
- JTG F90-2015 公路工程施工安全技術規(guī)范
- 新能源汽車行業(yè)智能駕駛技術分析報告
- 統(tǒng)編版高中語文必修下冊理解性默寫練習題匯編(含答案)
- 林木種質資源調查表(新表)
- 特種兵作戰(zhàn)分析報告
- 部門財務報告與行政事業(yè)性國有資產(chǎn)報告銜接說明(提綱)
- 風濕免疫疾病的多學科綜合診斷與治療
- 神經(jīng)性疼痛的病因和治療
- DB11T 381-2023既有居住建筑節(jié)能改造技術規(guī)程
- 《解讀月意象》課件
- 人事檔案管理標準
評論
0/150
提交評論