計算機網(wǎng)絡 應用層_第1頁
計算機網(wǎng)絡 應用層_第2頁
計算機網(wǎng)絡 應用層_第3頁
計算機網(wǎng)絡 應用層_第4頁
計算機網(wǎng)絡 應用層_第5頁
已閱讀5頁,還剩199頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/sundae_meng計算機網(wǎng)絡(第5版)第6章應用層/sundae_meng第6章應用層6.1域名系統(tǒng)DNS 6.1.1域名系統(tǒng)概述

6.1.2因特網(wǎng)的域名結構

6.1.3域名服務器6.2文件傳送協(xié)議

6.2.1FTP概述

6.2.2FTP的基本工作原理

6.2.3簡單文件傳送協(xié)議TFTP

/sundae_meng第6章應用層(續(xù))6.3遠程終端協(xié)議TELNET6.4萬維網(wǎng)WWW 6.4.1概述

6.4.2統(tǒng)一資源定位符URL 6.4.3超文本傳送協(xié)議HTTP 6.4.4萬維網(wǎng)的文檔

6.4.5萬維網(wǎng)的信息檢索系統(tǒng)

/sundae_meng第6章應用層(續(xù))

6.5電子郵件

6.5.1電子郵件概述

6.5.2簡單郵件傳送協(xié)議SMTP 6.5.3電子郵件的信息格式

6.5.4郵件讀取協(xié)議POP3和IMAP 6.5.5基于萬維網(wǎng)的電子郵件

6.5.6通用因特網(wǎng)郵件擴充MIME/sundae_meng第6章應用層(續(xù))6.6動態(tài)主機配置協(xié)議DHCP6.7簡單網(wǎng)絡管理協(xié)議SNMP 6.7.1網(wǎng)絡管理的基本概念

6.7.2管理信息結構SMI 6.7.3管理信息庫MIB 6.7.4SNMP的協(xié)議數(shù)據(jù)單元和報文6.8應用進程跨越網(wǎng)絡的通信

6.8.1系統(tǒng)調(diào)用和應用編程接口

6.8.2幾種常用的系統(tǒng)調(diào)用/sundae_meng應用層協(xié)議的特點每個應用層協(xié)議都是為了解決某一類應用問題,而問題的解決又往往是通過位于不同主機中的多個應用進程之間的通信和協(xié)同工作來完成的。應用層的具體內(nèi)容就是規(guī)定應用進程在通信時所遵循的協(xié)議。應用層的許多協(xié)議都是基于客戶服務器方式??蛻?client)和服務器(server)都是指通信中所涉及的兩個應用進程。客戶服務器方式所描述的是進程之間服務和被服務的關系。客戶是服務請求方,服務器是服務提供方。

/sundae_meng6.1域名系統(tǒng)DNS

6.1.1域名系統(tǒng)概述許多應用層軟件經(jīng)常直接使用域名系統(tǒng)

DNS(DomainNameSystem),但計算機的用戶只是間接而不是直接使用域名系統(tǒng)。因特網(wǎng)采用層次結構的命名樹作為主機的名字,并使用分布式的域名系統(tǒng)DNS。名字到

IP

地址的解析是由若干個域名服務器程序完成的。域名服務器程序在專設的結點上運行,運行該程序的機器稱為域名服務器。

/sundae_meng6.1.2因特網(wǎng)的域名結構因特網(wǎng)采用了層次樹狀結構的命名方法。任何一個連接在因特網(wǎng)上的主機或路由器,都有一個唯一的層次結構的名字,即域名。域名的結構由標號序列組成,各標號之間用點隔開:

….

三級域名.

二級域名.

頂級域名各標號分別代表不同級別的域名。/sundae_meng域名只是個邏輯概念域名只是個邏輯概念,并不代表計算機所在的物理地點。變長的域名和使用有助記憶的字符串,是為了便于人來使用。而IP地址是定長的32位二進制數(shù)字則非常便于機器進行處理。域名中的“點”和點分十進制IP地址中的“點”并無一一對應的關系。點分十進制IP地址中一定是包含三個“點”,但每一個域名中“點”的數(shù)目則不一定正好是三個。/sundae_meng頂級域名TLD

(TopLevelDomain)(1)國家頂級域名nTLD:如:.cn表示中國,.us表示美國,.uk表示英國,等等。(2)通用頂級域名gTLD:最早的頂級域名是:

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

.net(網(wǎng)絡服務機構)

.org(非贏利性組織)

.edu(美國專用的教育機構()

.gov(美國專用的政府部門)

.mil(美國專用的軍事部門)

.int(國際組織)/sundae_meng頂級域名TLD(續(xù))(3)基礎結構域名(infrastructuredomain):這種頂級域名只有一個,即arpa,用于反向域名解析,因此又稱為反向域名。/sundae_meng新增加了下列的通用頂級域名.aero(航空運輸企業(yè)).biz(公司和企業(yè)).cat(加泰隆人的語言和文化團體).coop(合作團體).info(各種情況).jobs(人力資源管理者).mobi(移動產(chǎn)品與服務的用戶和提供者).museum(博物館).name(個人).pro(有證書的專業(yè)人員).travel(旅游業(yè))因特網(wǎng)的域名空間根四級域名mail…www…bjeducom…cctvibmhp二級域名pkutsinghua…三級域名mailwww…comnetorgedugovaerocnuk…頂級域名……課件制作人:謝希仁/sundae_meng6.1.3域名服務器一個服務器所負責管轄的(或有權限的)范圍叫做區(qū)(zone)。各單位根據(jù)具體情況來劃分自己管轄范圍的區(qū)。但在一個區(qū)中的所有節(jié)點必須是能夠連通的。每一個區(qū)設置相應的權限域名服務器,用來保存該區(qū)中的所有主機的域名到IP地址的映射。DNS服務器的管轄范圍不是以“域”為單位,而是以“區(qū)”為單位。區(qū)的不同劃分方法舉例域區(qū)abcxuvwty(a)區(qū)=域(b)區(qū)<域域區(qū)區(qū)abcxuvwtycomeduorg根comeduorg根課件制作人:謝希仁/sundae_meng樹狀結構的DNS域名服務器根域名服務器org域名服務器com域名服務器edu域名服務器…域名服務器abc公司有兩個權限域名服務器權限域名服務器根域名服務器頂級域名服務器域名服務器/sundae_meng域名服務器有以下四種類型根域名服務器頂級域名服務器權限域名服務器本地域名服務器/sundae_meng根域名服務器

——最高層次的域名服務器——根域名服務器是最重要的域名服務器。所有的根域名服務器都知道所有的頂級域名服務器的域名和IP地址。不管是哪一個本地域名服務器,若要對因特網(wǎng)上任何一個域名進行解析,只要自己無法解析,就首先求助于根域名服務器。在因特網(wǎng)上共有13個不同IP地址的根域名服務器,它們的名字是用一個英文字母命名,從a一直到m(前13個字母)。/sundae_meng根域名服務器共有13套裝置

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

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

根域名服務器并不直接把域名直接轉(zhuǎn)換成IP地址。在使用迭代查詢時,根域名服務器把下一步應當找的頂級域名服務器的IP地址告訴本地域名服務器。共40個機器課件制作人:謝希仁/sundae_meng頂級域名服務器

(即TLD服務器)

這些域名服務器負責管理在該頂級域名服務器注冊的所有二級域名。當收到DNS查詢請求時,就給出相應的回答(可能是最后的結果,也可能是下一步應當找的域名服務器的IP地址)。/sundae_meng權限域名服務器這就是前面已經(jīng)講過的負責一個區(qū)的域名服務器。當一個權限域名服務器還不能給出最后的查詢回答時,就會告訴發(fā)出查詢請求的DNS客戶,下一步應當找哪一個權限域名服務器。/sundae_meng本地域名服務器本地域名服務器對域名系統(tǒng)非常重要。當一個主機發(fā)出DNS查詢請求時,這個查詢請求報文就發(fā)送給本地域名服務器。每一個因特網(wǎng)服務提供者ISP,或一個大學,甚至一個大學里的系,都可以擁有一個本地域名服務器,這種域名服務器有時也稱為默認域名服務器。/sundae_meng提高域名服務器的可靠性DNS域名服務器都把數(shù)據(jù)復制到幾個域名服務器來保存,其中的一個是主域名服務器,其他的是輔助域名服務器。當主域名服務器出故障時,輔助域名服務器可以保證DNS的查詢工作不會中斷。主域名服務器定期把數(shù)據(jù)復制到輔助域名服務器中,而更改數(shù)據(jù)只能在主域名服務器中進行。這樣就保證了數(shù)據(jù)的一致性。/sundae_meng域名的解析過程主機向本地域名服務器的查詢一般都是采用遞歸查詢。如果主機所詢問的本地域名服務器不知道被查詢域名的IP地址,那么本地域名服務器就以DNS客戶的身份,向其他根域名服務器繼續(xù)發(fā)出查詢請求報文。本地域名服務器向根域名服務器的查詢通常是采用迭代查詢。當根域名服務器收到本地域名服務器的迭代查詢請求報文時,要么給出所要查詢的IP地址,要么告訴本地域名服務器:“你下一步應當向哪一個域名服務器進行查詢”。然后讓本地域名服務器進行后續(xù)的查詢。/sundae_meng本地域名服務器采用迭代查詢頂級域名服務器權限域名服務本地域名服務器根域名服務器

迭代查詢

IP

地址

遞歸查詢

需要查找

的IP地址/sundae_meng本地域名服務器采用遞歸查詢

(比較少用)

頂級域名服務器權限域名服務本地域名服務器

根域名服務器

遞歸查詢遞歸查詢

IP

地址

需要查找

的IP地址/sundae_meng名字的高速緩存每個域名服務器都維護一個高速緩存,存放最近用過的名字以及從何處獲得名字映射信息的記錄??纱蟠鬁p輕根域名服務器的負荷,使因特網(wǎng)上的DNS查詢請求和回答報文的數(shù)量大為減少。為保持高速緩存中的內(nèi)容正確,域名服務器應為每項內(nèi)容設置計時器,并處理超過合理時間的項(例如,每個項目只存放兩天)。當權限域名服務器回答一個查詢請求時,在響應中都指明綁定有效存在的時間值。增加此時間值可減少網(wǎng)絡開銷,而減少此時間值可提高域名轉(zhuǎn)換的準確性。/sundae_meng6.2文件傳送協(xié)議

6.2.1FTP概述文件傳送協(xié)議

FTP(FileTransferProtocol)是因特網(wǎng)上使用得最廣泛的文件傳送協(xié)議。FTP提供交互式的訪問,允許客戶指明文件的類型與格式,并允許文件具有存取權限。FTP屏蔽了各計算機系統(tǒng)的細節(jié),因而適合于在異構網(wǎng)絡中任意計算機之間傳送文件。RFC959很早就成為了因特網(wǎng)的正式標準。/sundae_meng文件傳送并非很簡單的問題網(wǎng)絡環(huán)境中的一項基本應用就是將文件從一臺計算機中復制到另一臺可能相距很遠的計算機中。初看起來,在兩個主機之間傳送文件是很簡單的事情。其實這往往非常困難。原因是眾多的計算機廠商研制出的文件系統(tǒng)多達數(shù)百種,且差別很大。/sundae_meng6.2.2FTP的基本工作原理網(wǎng)絡環(huán)境下復制文件的復雜性:(1)計算機存儲數(shù)據(jù)的格式不同。(2)文件的目錄結構和文件命名的規(guī)定不同。(3)對于相同的文件存取功能,操作系統(tǒng)使用的命令不同。(4)訪問控制方法不同。/sundae_mengFTP特點文件傳送協(xié)議FTP只提供文件傳送的一些基本的服務,它使用TCP可靠的運輸服務。FTP的主要功能是減少或消除在不同操作系統(tǒng)下處理文件的不兼容性。FTP使用客戶服務器方式。一個FTP服務器進程可同時為多個客戶進程提供服務。FTP的服務器進程由兩大部分組成:一個主進程,負責接受新的請求;另外有若干個從屬進程,負責處理單個請求。/sundae_meng主進程的工作步驟如下打開熟知端口(端口號為21),使客戶進程能夠連接上。等待客戶進程發(fā)出連接請求。啟動從屬進程來處理客戶進程發(fā)來的請求。從屬進程對客戶進程的請求處理完畢后即終止,但從屬進程在運行期間根據(jù)需要還可能創(chuàng)建其他一些子進程?;氐降却隣顟B(tài),繼續(xù)接受其他客戶進程發(fā)來的請求。主進程與從屬進程的處理是并發(fā)地進行。/sundae_meng兩個連接控制連接在整個會話期間一直保持打開,F(xiàn)TP客戶發(fā)出的傳送請求通過控制連接發(fā)送給服務器端的控制進程,但控制連接不用來傳送文件。實際用于傳輸文件的是“數(shù)據(jù)連接”。服務器端的控制進程在接收到FTP客戶發(fā)送來的文件傳輸請求后就創(chuàng)建“數(shù)據(jù)傳送進程”和“數(shù)據(jù)連接”,用來連接客戶端和服務器端的數(shù)據(jù)傳送進程。數(shù)據(jù)傳送進程實際完成文件的傳送,在傳送完畢后關閉“數(shù)據(jù)傳送連接”并結束運行。/sundae_mengFTP使用的兩個TCP連接控制進程FTP客戶端FTP服務器端因特網(wǎng)TCP控制連接TCP數(shù)據(jù)連接用戶界面控制進程數(shù)據(jù)傳送進程數(shù)據(jù)傳送進程/sundae_meng

當客戶進程向服務器進程發(fā)出建立連接請求時,要尋找連接服務器進程的熟知端口(21),同時還要告訴服務器進程自己的另一個端口號碼,用于建立數(shù)據(jù)傳送連接。接著,服務器進程用自己傳送數(shù)據(jù)的熟知端口(20)與客戶進程所提供的端口號碼建立數(shù)據(jù)傳送連接。由于

FTP

使用了兩個不同的端口號,所以數(shù)據(jù)連接與控制連接不會發(fā)生混亂。

兩個不同的端口號/sundae_meng使協(xié)議更加簡單和更容易實現(xiàn)。在傳輸文件時還可以利用控制連接(例如,客戶發(fā)送請求終止傳輸)。

使用兩個不同端口號的好處/sundae_mengNFS采用另一種思路NFS允許應用進程打開一個遠地文件,并能在該文件的某一個特定的位置上開始讀寫數(shù)據(jù)。NFS可使用戶只復制一個大文件中的一個很小的片段,而不需要復制整個大文件。對于上述例子,計算機A的NFS客戶軟件,把要添加的數(shù)據(jù)和在文件后面寫數(shù)據(jù)的請求一起發(fā)送到遠地的計算機B的NFS服務器。NFS服務器更新文件后返回應答信息。在網(wǎng)絡上傳送的只是少量的修改數(shù)據(jù)。/sundae_meng6.2.3簡單文件傳送協(xié)議TFTP

(TrivialFileTransferProtocol)

TFTP是一個很小且易于實現(xiàn)的文件傳送協(xié)議。TFTP使用客戶服務器方式和使用UDP數(shù)據(jù)報,因此TFTP需要有自己的差錯改正措施。TFTP只支持文件傳輸而不支持交互。TFTP沒有一個龐大的命令集,沒有列目錄的功能,也不能對用戶進行身份鑒別。/sundae_mengTFTP的主要特點是(1)每次傳送的數(shù)據(jù)PDU中有512字節(jié)的數(shù)據(jù),但最后一次可不足512字節(jié)。

(2)數(shù)據(jù)PDU也稱為文件塊(block),每個塊按序編號,從1開始。

(3)支持ASCII碼或二進制傳送。

(4)可對文件進行讀或?qū)憽?/p>

(5)使用很簡單的首部。/sundae_mengTFTP的工作很像停止等待協(xié)議發(fā)送完一個文件塊后就等待對方的確認,確認時應指明所確認的塊編號。發(fā)完數(shù)據(jù)后在規(guī)定時間內(nèi)收不到確認就要重發(fā)數(shù)據(jù)PDU。發(fā)送確認PDU的一方若在規(guī)定時間內(nèi)收不到下一個文件塊,也要重發(fā)確認PDU。這樣就可保證文件的傳送不致因某一個數(shù)據(jù)報的丟失而告失敗。/sundae_mengTFTP的工作很像停止等待協(xié)議在一開始工作時。TFTP客戶進程發(fā)送一個讀請求PDU或?qū)懻埱驪DU給TFTP服務器進程,其熟知端口號碼為69。TFTP

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

TFTP

客戶進程進行通信。若文件長度恰好為512字節(jié)的整數(shù)倍,則在文件傳送完畢后,還必須在最后發(fā)送一個只含首部而無數(shù)據(jù)的數(shù)據(jù)PDU。若文件長度不是512字節(jié)的整數(shù)倍,則最后傳送數(shù)據(jù)PDU的數(shù)據(jù)字段一定不滿512字節(jié),這正好可作為文件結束的標志。/sundae_meng6.3按遠程終端協(xié)議TELNETTELNET是一個簡單的遠程終端協(xié)議,也是因特網(wǎng)的正式標準。用戶用TELNET就可在其所在地通過TCP連接注冊(即登錄)到遠地的另一個主機上(使用主機名或IP地址)。TELNET能將用戶的擊鍵傳到遠地主機,同時也能將遠地主機的輸出通過TCP連接返回到用戶屏幕。這種服務是透明的,因為用戶感覺到好像鍵盤和顯示器是直接連在遠地主機上。/sundae_meng客戶服務器方式現(xiàn)在由于PC機的功能越來越強,用戶已較少使用TELNET了。TELNET也使用客戶服務器方式。在本地系統(tǒng)運行TELNET客戶進程,而在遠地主機則運行TELNET服務器進程。和FTP的情況相似,服務器中的主進程等待新的請求,并產(chǎn)生從屬進程來處理每一個連接。/sundae_mengTELNET使用

網(wǎng)絡虛擬終端NVT格式因特網(wǎng)TCP連接

客戶端

服務器端

使用客戶端的格式

使用服務器端的格式

使用NVT格式客戶服務器/sundae_meng網(wǎng)絡虛擬終端NVT格式客戶軟件把用戶的擊鍵和命令轉(zhuǎn)換成NVT格式,并送交服務器。服務器軟件把收到的數(shù)據(jù)和命令,從NVT格式轉(zhuǎn)換成遠地系統(tǒng)所需的格式。向用戶返回數(shù)據(jù)時,服務器把遠地系統(tǒng)的格式轉(zhuǎn)換為NVT格式,本地客戶再從NVT格式轉(zhuǎn)換到本地系統(tǒng)所需的格式。/sundae_meng6.4萬維網(wǎng)WWW

6.4.1萬維網(wǎng)概述萬維網(wǎng)

WWW(WorldWideWeb)并非某種特殊的計算機網(wǎng)絡。萬維網(wǎng)是一個大規(guī)模的、聯(lián)機式的信息儲藏所。萬維網(wǎng)用鏈接的方法能非常方便地從因特網(wǎng)上的一個站點訪問另一個站點,從而主動地按需獲取豐富的信息。這種訪問方式稱為“鏈接”。/sundae_meng萬維網(wǎng)提供分布式服務

萬維網(wǎng)站點A萬維網(wǎng)站點C萬維網(wǎng)站點E萬維網(wǎng)站點D萬維網(wǎng)站點B鏈接到鏈接到鏈接到鏈接到鏈接到鏈接到

/sundae_meng超媒體與超文本萬維網(wǎng)是分布式超媒體(hypermedia)系統(tǒng),它是超文本(hypertext)系統(tǒng)的擴充。一個超文本由多個信息源鏈接成。利用一個鏈接可使用戶找到另一個文檔。這些文檔可以位于世界上任何一個接在因特網(wǎng)上的超文本系統(tǒng)中。超文本是萬維網(wǎng)的基礎。超媒體與超文本的區(qū)別是文檔內(nèi)容不同。超文本文檔僅包含文本信息,而超媒體文檔還包含其他表示方式的信息,如圖形、圖像、聲音、動畫,甚至活動視頻圖像。/sundae_meng

萬維網(wǎng)的工作方式萬維網(wǎng)以客戶服務器方式工作。瀏覽器就是在用戶計算機上的萬維網(wǎng)客戶程序。萬維網(wǎng)文檔所駐留的計算機則運行服務器程序,因此這個計算機也稱為萬維網(wǎng)服務器??蛻舫绦蛳蚍掌鞒绦虬l(fā)出請求,服務器程序向客戶程序送回客戶所要的萬維網(wǎng)文檔。在一個客戶程序主窗口上顯示出的萬維網(wǎng)文檔稱為頁面(page)。/sundae_meng萬維網(wǎng)必須解決的問題(1)怎樣標志分布在整個因特網(wǎng)上的萬維網(wǎng)文檔?

使用統(tǒng)一資源定位符

URL(UniformResourceLocator)來標志萬維網(wǎng)上的各種文檔。使每一個文檔在整個因特網(wǎng)的范圍內(nèi)具有唯一的標識符URL。

/sundae_meng萬維網(wǎng)必須解決的問題(2)用何協(xié)議實現(xiàn)萬維網(wǎng)上各種超鏈的鏈接?

在萬維網(wǎng)客戶程序與萬維網(wǎng)服務器程序之間進行交互所使用的協(xié)議,是超文本傳送協(xié)議

HTTP(HyperTextTransferProtocol)。HTTP是一個應用層協(xié)議,它使用TCP連接進行可靠的傳送。

/sundae_meng萬維網(wǎng)必須解決的問題(3)怎樣使各種萬維網(wǎng)文檔都能在因特網(wǎng)上的各種計算機上顯示出來,同時使用戶清楚地知道在什么地方存在著超鏈?

超文本標記語言

HTML(HyperTextMarkupLanguage)使得萬維網(wǎng)頁面的設計者可以很方便地用一個超鏈從本頁面的某處鏈接到因特網(wǎng)上的任何一個萬維網(wǎng)頁面,并且能夠在自己的計算機屏幕上將這些頁面顯示出來。/sundae_meng萬維網(wǎng)必須解決的問題(4)怎樣使用戶能夠很方便地找到所需的信息?為了在萬維網(wǎng)上方便地查找信息,用戶可使用各種的搜索工具(即搜索引擎)。

/sundae_meng6.4.2統(tǒng)一資源定位符URL

1.URL的格式統(tǒng)一資源定位符URL是對可以從因特網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示。URL給資源的位置提供一種抽象的識別方法,并用這種方法給資源定位。只要能夠?qū)Y源定位,系統(tǒng)就可以對資源進行各種操作,如存取、更新、替換和查找其屬性。URL相當于一個文件名在網(wǎng)絡范圍的擴展。因此URL是與因特網(wǎng)相連的機器上的任何可訪問對象的一個指針。

/sundae_mengURL的一般形式由以冒號隔開的兩大部分組成,并且在URL中的字符對大寫或小寫沒有要求。URL的一般形式是:<協(xié)議>://<主機>:<端口>/<路徑>ftp——文件傳送協(xié)議FTPhttp——超文本傳送協(xié)議HTTPNews——USENET新聞/sundae_mengURL的一般形式(續(xù))由以冒號隔開的兩大部分組成,并且在URL中的字符對大寫或小寫沒有要求。URL的一般形式是:<協(xié)議>://<主機>:<端口>/<路徑><主機>是存放資源的主機在因特網(wǎng)中的域名/sundae_mengURL的一般形式(續(xù))由以冒號隔開的兩大部分組成,并且在URL中的字符對大寫或小寫沒有要求。URL的一般形式是:<協(xié)議>://<主機>:<端口>/<路徑>有時可省略/sundae_meng使用HTTP的URL使用HTTP的URL的一般形式

http://<主機>:<端口>/<路徑>

這表示使用HTTP協(xié)議/sundae_meng使用HTTP的URL使用HTTP的URL的一般形式

http://<主機>:<端口>/<路徑>

冒號和兩個斜線是規(guī)定的格式/sundae_meng使用HTTP的URL使用HTTP的URL的一般形式

http://<主機>:<端口>/<路徑>

這里寫主機的域名/sundae_meng使用HTTP的URL使用HTTP的URL的一般形式

http://<主機>:<端口>/<路徑>

HTTP的默認端口號是80,通常可省略/sundae_meng使用HTTP的URL使用HTTP的URL的一般形式

http://<主機>:<端口>/<路徑>

若再省略文件的<路徑>項,則URL就指到因特網(wǎng)上的某個主頁(homepage)。/sundae_meng6.4.3超文本傳送協(xié)議HTTP

1.HTTP的操作過程

為了使超文本的鏈接能夠高效率地完成,需要用HTTP協(xié)議來傳送一切必須的信息。從層次的角度看,HTTP是面向事務的(transaction-oriented)應用層協(xié)議,它是萬維網(wǎng)上能夠可靠地交換文件(包括文本、聲音、圖像等各種多媒體文件)的重要基礎。萬維網(wǎng)的工作過程因特網(wǎng)服務器鏈接到URL的超鏈HTTP使用此TCP連接瀏覽器程序服務器程序HTTP客戶清華大學院系設置建立TCP連接釋放TCP連接

HTTP響應報文

響應文檔

HTTP請求報文

請求文檔課件制作人:謝希仁用戶點擊鼠標后所發(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中的所有文本。課件制作人:謝希仁/sundae_mengHTTP的主要特點HTTP是面向事務的客戶服務器協(xié)議。HTTP1.0協(xié)議是無狀態(tài)的(stateless)。HTTP協(xié)議本身也是無連接的,雖然它使用了面向連接的TCP向上提供的服務。/sundae_mengRTTRTT請求一個萬維網(wǎng)文檔所需的時間萬維網(wǎng)服務器萬維網(wǎng)客戶發(fā)起TCP連接HTTP請求報文傳輸文檔的時間整個文檔收到時間時間HTTP響應報文/sundae_meng持續(xù)連接

(persistentconnection)HTTP/1.1協(xié)議使用持續(xù)連接。萬維網(wǎng)服務器在發(fā)送響應后仍然在一段時間內(nèi)保持這條連接,使同一個客戶(瀏覽器)和該服務器可以繼續(xù)在這條連接上傳送后續(xù)的HTTP請求報文和響應報文。這并不局限于傳送同一個頁面上鏈接的文檔,而是只要這些文檔都在同一個服務器上就行。目前一些流行的瀏覽器(例如,IE6.0)的默認設置就是使用HTTP/1.1。/sundae_meng持續(xù)連接的兩種工作方式非流水線方式:客戶在收到前一個響應后才能發(fā)出下一個請求。這比非持續(xù)連接的兩倍RTT的開銷節(jié)省了建立TCP連接所需的一個RTT時間。但服務器在發(fā)送完一個對象后,其TCP連接就處于空閑狀態(tài),浪費了服務器資源。流水線方式:客戶在收到HTTP的響應報文之前就能夠接著發(fā)送新的請求報文。一個接一個的請求報文到達服務器后,服務器就可連續(xù)發(fā)回響應報文。使用流水線方式時,客戶訪問所有的對象只需花費一個RTT時間,使TCP連接中的空閑時間減少,提高了下載文檔效率。/sundae_meng代理服務器

(proxyserver)

代理服務器(proxyserver)又稱為萬維網(wǎng)高速緩存(Webcache),它代表瀏覽器發(fā)出HTTP請求。萬維網(wǎng)高速緩存把最近的一些請求和響應暫存在本地磁盤中。當與暫時存放的請求相同的新請求到達時,萬維網(wǎng)高速緩存就把暫存的響應發(fā)送出去,而不需要按URL的地址再去因特網(wǎng)訪問該資源。

/sundae_meng使用高速緩存可減少

訪問因特網(wǎng)服務器的時延校園網(wǎng)源點服務器2Mb/s因特網(wǎng)瀏覽器R1R2這條鏈路上的時延很大沒有使用高速緩存的情況所有萬維網(wǎng)通信量都經(jīng)過這條鏈路使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務器)源點服務器2Mb/s因特網(wǎng)瀏覽器R1R2(1)瀏覽器訪問因特網(wǎng)的服務器時,要先與校園網(wǎng)的高速緩存建立TCP連接,并向高速緩存發(fā)出HTTP請求報文課件制作人:謝希仁使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務器)源點服務器2Mb/s因特網(wǎng)瀏覽器R1R2(2)若高速緩存已經(jīng)存放了所請求的對象,則將此對象放入HTTP響應報文中返回給瀏覽器。課件制作人:謝希仁使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務器)源點服務器2Mb/s因特網(wǎng)瀏覽器R1R2(3)否則,高速緩存就代表發(fā)出請求的用戶瀏覽器,與因特網(wǎng)上的源點服務器建立TCP連接,并發(fā)送HTTP請求報文。課件制作人:謝希仁使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務器)源點服務器2Mb/s因特網(wǎng)瀏覽器R1R2(4)源點服務器將所請求的對象放在HTTP響應報文中返回給校園網(wǎng)的高速緩存。課件制作人:謝希仁使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務器)源點服務器2Mb/s因特網(wǎng)瀏覽器R1R2(5)高速緩存收到此對象后,先復制在其本地存儲器中(為今后使用),然后再將該對象放在HTTP響應報文中,通過已建立的TCP連接,返回給請求該對象的瀏覽器。課件制作人:謝希仁/sundae_meng3.HTTP的報文結構HTTP有兩類報文:請求報文——從客戶向服務器發(fā)送請求報文。響應報文——從服務器到客戶的回答。由于HTTP是面向正文的(text-oriented),因此在報文中的每一個字段都是一些ASCII碼串,因而每個字段的長度都是不確定的。HTTP的報文結構(請求報文)方法URL版本首部字段名首部行:值首部字段名值:…實體主體(通常不用)請求行空格回車換行:CRLFCRLFCRLFCRLF報文由三個部分組成,即開始行、首部行和實體主體。在請求報文中,開始行就是請求行。開始行課件制作人:謝希仁HTTP的報文結構(請求報文)方法URL版本首部字段名首部行:值首部字段名值:…實體主體(通常不用)請求行空格回車換行:CRLFCRLFCRLFCRLF“方法”是面向?qū)ο蠹夹g中使用的專門名詞。所謂“方法”就是對所請求的對象進行的操作,因此這些方法實際上也就是一些命令。因此,請求報文的類型是由它所采用的方法決定的。課件制作人:謝希仁/sundae_mengHTTP請求報文的一些方法方法(操作)意義OPTION 請求一些選項的信息GET 請求讀取由URL所標志的信息HEAD請求讀取由URL所標志的信息的首部POST 給服務器添加信息(例如,注釋)PUT 在指明的URL下存儲一個文檔DELETE 刪除指明的URL所標志的資源TRACE 用來進行環(huán)回測試的請求報文CONNECT 用于代理服務器HTTP的報文結構(請求報文)方法URL版本首部字段名首部行:值首部字段名值:…實體主體(通常不用)請求行空格回車換行:CRLFCRLFCRLFCRLF“URL”是所請求的資源的

URL。課件制作人:謝希仁HTTP的報文結構(請求報文)方法URL版本首部字段名首部行:值首部字段名值:…實體主體(通常不用)請求行空格回車換行:CRLFCRLFCRLFCRLF“版本”是

HTTP的版本。課件制作人:謝希仁HTTP的報文結構(響應報文)版本狀態(tài)碼短語首部字段名首部行:值首部字段名值:…實體主體(有些響應報文不用)狀態(tài)行空格回車換行:CRLFCRLFCRLFCRLF響應報文的開始行是狀態(tài)行。狀態(tài)行包括三項內(nèi)容,即HTTP的版本,狀態(tài)碼,以及解釋狀態(tài)碼的簡單短語。

開始行課件制作人:謝希仁/sundae_meng狀態(tài)碼都是三位數(shù)字1xx表示通知信息的,如請求收到了或正在進行處理。2xx表示成功,如接受或知道了。3xx表示重定向,表示要完成請求還必須采取進一步的行動。4xx表示客戶的差錯,如請求中有錯誤的語法或不能完成。5xx表示服務器的差錯,如服務器失效無法完成請求。/sundae_meng4.在服務器上存放用戶的信息萬維網(wǎng)站點使用Cookie來跟蹤用戶。Cookie表示在HTTP服務器和客戶之間傳遞的狀態(tài)信息。使用Cookie的網(wǎng)站服務器為用戶產(chǎn)生一個唯一的識別碼。利用此識別碼,網(wǎng)站就能夠跟蹤該用戶在該網(wǎng)站的活動。/sundae_meng6.4.4萬維網(wǎng)的文檔

1.超文本標記語言HTML超文本標記語言HTML中的Markup的意思就是“設置標記”。HTML定義了許多用于排版的命令(即標簽)。HTML把各種標簽嵌入到萬維網(wǎng)的頁面中。這樣就構成了所謂的HTML文檔。HTML文檔是一種可以用任何文本編輯器創(chuàng)建的ASCII碼文件。/sundae_mengHTML文檔僅當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

級標題課件制作人:謝希仁<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文檔中標簽的用法<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文檔結束課件制作人:謝希仁/sundae_meng兩種不同的鏈接遠程鏈接:超鏈的終點是其他網(wǎng)點上的頁面。本地鏈接:超鏈指向本計算機中的某個文件。/sundae_meng2.動態(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ū)別。/sundae_meng萬維網(wǎng)服務器功能的擴充(1)應增加另一個應用程序,用來處理瀏覽器發(fā)來的數(shù)據(jù),并創(chuàng)建動態(tài)文檔。(2)應增加一個機制,用來使萬維網(wǎng)服務器把瀏覽器發(fā)來的數(shù)據(jù)傳送給這個應用程序,然后萬維網(wǎng)服務器能夠解釋這個應用程序的輸出,并向瀏覽器返回HTML文檔。/sundae_mengCGI

響應動態(tài)文檔HTTP響應報文擴充了功能的萬維網(wǎng)服務器萬維網(wǎng)服務器瀏覽器程序萬維網(wǎng)客戶服務器程序HTTP數(shù)據(jù)庫HTTP請求報文

請求文檔

CGI程序創(chuàng)建動態(tài)文檔

/sundae_meng通用網(wǎng)關接口CGI

(CommonGatewayInterface)

CGI是一種標準,它定義了動態(tài)文檔應如何創(chuàng)建,輸入數(shù)據(jù)應如何提供給應用程序,以及輸出結果應如何使用。萬維網(wǎng)服務器與CGI的通信遵循CGI標準?!巴ㄓ谩保篊GI標準所定義的規(guī)則對其他任何語言都是通用的。“網(wǎng)關”:CGI程序的作用像網(wǎng)關?!敖涌凇保河幸恍┮讯x好的變量和調(diào)用等可供其他CGI程序使用。/sundae_mengCGI程序CGI程序的正式名字是CGI

腳本(script)。“腳本”指的是一個程序,它被另一個程序(解釋程序)而不是計算機的處理機來解釋或執(zhí)行。腳本運行起來要比一般的編譯程序要慢,因為它的每一條指令先要被另一個程序來處理(這就要一些附加的指令),而不是直接被指令處理器來處理。/sundae_meng3.活動萬維網(wǎng)文檔活動文檔(activedocument)技術把所有的工作都轉(zhuǎn)移給瀏覽器端。每當瀏覽器請求一個活動文檔時,服務器就返回一段程序副本在瀏覽器端運行?;顒游臋n程序可與用戶直接交互,并可連續(xù)地改變屏幕的顯示。由于活動文檔技術不需要服務器的連續(xù)更新傳送,對網(wǎng)絡帶寬的要求也不會太高。/sundae_meng

響應程序HTTP響應報文

程序活動文檔在客戶端創(chuàng)建萬維網(wǎng)服務器瀏覽器程序萬維網(wǎng)客戶服務器程序HTTPHTTP請求報文

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

程序

此程序在客戶端創(chuàng)建出活動文檔

文檔/sundae_meng用Java技術創(chuàng)建活動文檔由美國Sun公司開發(fā)的Java

語言是一項用于創(chuàng)建和運行活動文檔的技術。在Java技術中使用“小應用程序”(applet)來描述活動文檔程序。用戶從萬維網(wǎng)服務器下載嵌入了Java小應用程序的HTML文檔后,可在瀏覽器的屏幕上點擊某個圖像,就可看到動畫效果,或在下拉式菜單中點擊某個項目,就可看到計算結果。Java技術是活動文檔技術的一部分。/sundae_mengJava技術裝三個主要組成部分(1)程序設計語言。Java包含一個新的程序設計語言,用來編寫傳統(tǒng)的計算機程序和Java小應用程序。(2)運行(runtime)環(huán)境。這是運行Java程序所必須的運行環(huán)境,其中包括Java虛擬機(簡稱為JVM),該軟件定義了Java二進制代碼的執(zhí)行模型。(3)類庫(classlibrary)。為了更容易編寫Java小應用程序,Java提供了強大的類庫支持。/sundae_mengJavaJava是一種面向?qū)ο蟮母呒壵Z言,從C++派生出來的,它省略了C++很多復雜的、很少用的語言特點。Java的每一個數(shù)據(jù)項都有一個確定的類型。對數(shù)據(jù)的操作嚴格按照該數(shù)據(jù)的類型來進行。Java的編譯程序?qū)⒃闯绦蜣D(zhuǎn)換成Java字節(jié)碼(bytecode),這是一種與機器無關的二進制代碼。計算機程序調(diào)用解釋程序讀取字節(jié)碼,并解釋執(zhí)行。/sundae_meng計算機硬件無關Java語言、字節(jié)碼以及Java運行系統(tǒng)都被設計成與計算機硬件無關。一旦形成了字節(jié)碼,就可在任何計算機上運行并產(chǎn)生相同的輸出。Java小應用程序與機器無關可使在任何計算機上運行的瀏覽器程序能夠下載并運行活動文檔??杀WC活動文檔在所有的瀏覽器上產(chǎn)生同樣的正確輸出。可大大地降低活動文檔的創(chuàng)建和測試費用,因為不必為每一種計算機都制作一個副本。/sundae_mengJava解釋程序運行Java的瀏覽器需要有HTML解釋程序和Java小應用程序解釋程序。解釋程序的核心是一個模仿計算機的簡單循環(huán)。解釋程序維持一個指令指針,在初始化時指在小應用程序的開始處。在每一次循環(huán)操作時,解釋程序在指令指針指向的地址讀取字節(jié)碼。然后解釋程序?qū)ψ止?jié)碼進行解碼,并完成指明的操作。4.瀏覽器的結構與遠地服務器通信輸出至顯示器從鼠標和鍵盤輸入網(wǎng)絡接口可選客戶程序HTML解釋程序可選解釋程序控制程序驅(qū)動程序……HTTP客戶程序緩存課件制作人:謝希仁/sundae_meng瀏覽器的主要組成部分瀏覽器有一組客戶、一組解釋程序,以及管理這些客戶和解釋程序的控制程序。控制程序是其中的核心部件,它解釋鼠標的點擊和鍵盤的輸入,并調(diào)用有關的組件來執(zhí)行用戶指定的操作。例如,當用戶用鼠標點擊一個超鏈的起點時,控制程序就調(diào)用一個客戶從所需文檔所在的遠地服務器上取回該文檔,并調(diào)用解釋程序向用戶顯示該文檔。/sundae_meng解釋程序HTML解釋程序是必不可少的,而其他的解釋程序則是可選的。解釋程序把HTML規(guī)格轉(zhuǎn)換為適合用戶顯示硬件的命令來處理版面的細節(jié)。許多瀏覽器還包含F(xiàn)TP客戶程序,用來獲取文件傳送服務。一些瀏覽器也包含電子郵件客戶程序,使瀏覽器能夠發(fā)送和接收電子郵件。/sundae_meng瀏覽器中的緩存瀏覽器將它取回的每一個頁面副本都放入本地磁盤的緩存中。當用戶用鼠標點擊某個選項時,瀏覽器首先檢查磁盤的緩存。若緩存中保存了該項,瀏覽器就直接從緩存中得到該項副本而不必從網(wǎng)絡獲取,這樣就明顯地改善瀏覽器的運行特性。。但緩存要占用磁盤大量的空間,而瀏覽器性能的改善只有在用戶再次查看緩存中的頁面時才有幫助。許多瀏覽器允許用戶調(diào)整緩存策略。

/sundae_meng6.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)上檢索到的信息)。/sundae_meng分類目錄搜索分類目錄搜索引擎并不采集網(wǎng)站的任何信息,而是利用各網(wǎng)站向搜索引擎提交的網(wǎng)站信息時填寫的關鍵詞和網(wǎng)站描述等信息,經(jīng)過人工審核編輯后,如果認為符合網(wǎng)站登錄的條件,則輸入到分類目錄的數(shù)據(jù)庫中,供網(wǎng)上用戶查詢。分類目錄搜索也叫做分類網(wǎng)站搜索。/sundae_meng一些著名的搜索引擎最著名的全文檢索搜索引擎:Google(谷歌)()百度()

最著名的分類目錄搜索引擎:雅虎()雅虎中國()新浪()搜狐()網(wǎng)易()

/sundae_meng垂直搜索引擎

(VerticalSearchEngine)

針對某一特定領域、特定人群或某一特定需求提供搜索服務。垂直搜索也是提供關鍵字來進行搜索的,但被放到了一個行業(yè)知識的上下文中,返回的結果更傾向于信息、消息、條目等。/sundae_meng6.5電子郵件

6.5.1概述電子郵件(e-mail)是因特網(wǎng)上使用得最多的和最受用戶歡迎的一種應用。電子郵件把郵件發(fā)送到收件人使用的郵件服務器,并放在其中的收件人郵箱中,收件人可隨時上網(wǎng)到自己使用的郵件服務器進行讀取。電子郵件不僅使用方便,而且還具有傳遞迅速和費用低廉的優(yōu)點?,F(xiàn)在電子郵件不僅可傳送文字信息,而且還可附上聲音和圖像。/sundae_meng電子郵件的一些標準發(fā)送郵件的協(xié)議:SMTP讀取郵件的協(xié)議:POP3和IMAPMIME在其郵件首部中說明了郵件的數(shù)據(jù)類型(如文本、聲音、圖像、視像等),使用

MIME

可在郵件中同時傳送多種類型的數(shù)據(jù)。電子郵件的最主要的組成構件發(fā)送方郵件緩存

接收端郵件服務器用戶代理SMTPSMTPPOP3

發(fā)送端郵件服務器用戶代理用戶郵箱接收方(發(fā)送郵件)(發(fā)送郵件)(讀取郵件)因特網(wǎng)SMTPPOP3發(fā)送郵件發(fā)送郵件SMTP讀取郵件TCP連接TCP連接發(fā)送方郵件服務器SMTP客戶POP3客戶發(fā)件人用戶代理接收方郵件服務器SMTP服務器POP3服務器SMTP服務器SMTP客戶收件人用戶代理TCP連接課件制作人:謝希仁/sundae_meng用戶代理UA(UserAgent)用戶代理UA就是用戶與電子郵件系統(tǒng)的接口,是電子郵件客戶端軟件。用戶代理的功能:撰寫、顯示、處理和通信。郵件服務器的功能是發(fā)送和接收郵件,同時還要向發(fā)信人報告郵件傳送的情況(已交付、被拒絕、丟失等)。郵件服務器按照客戶服務器方式工作。郵件服務器需要使用發(fā)送和讀取兩個不同的協(xié)議。/sundae_meng應當注意一個郵件服務器既可以作為客戶,也可以作為服務器。例如,當郵件服務器A向另一個郵件服務器B發(fā)送郵件時,郵件服務器A就作為SMTP客戶,而B是SMTP服務器。當郵件服務器A從另一個郵件服務器B接收郵件時,郵件服務器A就作為SMTP服務器,而B是SMTP客戶。/sundae_meng發(fā)送和接收電子郵件的

幾個重要步驟

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

發(fā)件人的用戶代理把郵件用SMTP協(xié)議發(fā)給發(fā)送方郵件服務器,

SMTP服務器把郵件臨時存放在郵件緩存隊列中,等待發(fā)送。

發(fā)送方郵件服務器的SMTP客戶與接收方郵件服務器的SMTP服務器建立TCP連接,然后就把郵件緩存隊列中的郵件依次發(fā)送出去。/sundae_meng發(fā)送和接收電子郵件的

幾個重要步驟(續(xù))

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

收件人在打算收信時,就運行PC機中的用戶代理,使用POP3(或IMAP)協(xié)議讀取發(fā)送給自己的郵件。請注意,POP3服務器和POP3客戶之間的通信是由POP3客戶發(fā)起的。/sundae_meng電子郵件的組成電子郵件由信封(envelope)和內(nèi)容(content)兩部分組成。電子郵件的傳輸程序根據(jù)郵件信封上的信息來傳送郵件。用戶在從自己的郵箱中讀取郵件時才能見到郵件的內(nèi)容。在郵件的信封上,最重要的就是收件人的地址。

/sundae_meng電子郵件地址的格式TCP/IP體系的電子郵件系統(tǒng)規(guī)定電子郵件地址的格式如下:收件人郵箱名@郵箱所在主機的域名(6-1)符號“@”讀作“at”,表示“在”的意思。

例如,電子郵件地址xiexiren@郵箱所在的主機的域名在全世界必須是唯一的這個用戶名在該域名的范圍內(nèi)是唯一的。/sundae_meng6.5.2簡單郵件傳送協(xié)議SMTPSMTP所規(guī)定的就是在兩個相互通信的SMTP進程之間應如何交換信息。由于SMTP使用客戶服務器方式,因此負責發(fā)送郵件的SMTP進程就是SMTP客戶,而負責接收郵件的SMTP進程就是SMTP服務器。SMTP規(guī)定了14條命令和21種應答信息。每條命令用4個字母組成,而每一種應答信息一般只有一行信息,由一個3位數(shù)字的代碼開始,后面附上(也可不附上)很簡單的文字說明。

/sundae_mengSMTP通信的三個階段1.連接建立:連接是在發(fā)送主機的SMTP客戶和接收主機的SMTP服務器之間建立的。SMTP不使用中間的郵件服務器。

2.郵件傳送3.連接釋放:郵件發(fā)送完畢后,SMTP應釋放TCP連接。/sundae_meng6.5.3電子郵件的信息格式一個電子郵件分為信封和內(nèi)容兩大部分。RFC822只規(guī)定了郵件內(nèi)容中的首部(header)格式,而對郵件的主體(body)部分則讓用戶自由撰寫。用戶寫好首部后,郵件系統(tǒng)將自動地將信封所需的信息提取出來并寫在信封上。所以用戶不需要填寫電子郵件信封上的信息。郵件內(nèi)容首部包括一些關鍵字,后面加上冒號。最重要的關鍵字是:To和Subject。

/sundae_meng郵件內(nèi)容的首部“To:”后面填入一個或多個收件人的電子郵件地址。用戶只需打開地址簿,點擊收件人名字,收件人的電子郵件地址就會自動地填入到合適的位置上?!癝ubject:”是郵件的主題。它反映了郵件的主要內(nèi)容,便于用戶查找郵件。抄送“Cc:”表示應給某某人發(fā)送一個郵件副本。“From”和“Date”表示發(fā)信人的電子郵件地址和發(fā)信日期?!癛eply-To”是對方回信所用的地址。

/sundae_meng6.5.4郵件讀取協(xié)議

POP3和IMAP郵局協(xié)議

POP

是一個非常簡單、但功能有限的郵件讀取協(xié)議,現(xiàn)在使用的是它的第三個版本POP3。POP

也使用客戶服務器的工作方式。在接收郵件的用戶

PC

機中必須運行

POP

客戶程序,而在用戶所連接的

ISP

的郵件服務器中則運行

POP

服務器程序。

/sundae_mengIMAP協(xié)議

(InternetMessageAccessProtocol)

IMAP也是按客戶服務器方式工作,現(xiàn)在較新的是版本4,即IMAP4。用戶在自己的PC機上就可以操縱ISP的郵件服務器的郵箱,就像在本地操縱一樣。因此IMAP是一個聯(lián)機協(xié)議。當用戶PC機上的IMAP客戶程序打開IMAP服務器的郵箱時,用戶就可看到郵件的首部。若用戶需要打開某個郵件,則該郵件才傳到用戶的計算機上。

/sundae_mengIMAP的特點IMAP最大的好處就是用戶可以在不同的地方使用不同的計算機隨時上網(wǎng)閱讀和處理自己的郵件。IMAP還允許收件人只讀取郵件中的某一個部分。例如,收到了一個帶有視像附件(此文件可能很大)的郵件。為了節(jié)省時間,可以先下載郵件的正文部分,待以后有時間再讀取或下載這個很長的附件。IMAP的缺點是如果用戶沒有將郵件復制到自己的PC機上,則郵件一直是存放在IMAP服務器上。因此用戶需要經(jīng)常與IMAP服務器建立連接。/sundae_meng必須注意不要將郵件讀取協(xié)議POP或IMAP與郵件傳送協(xié)議SMTP弄混。發(fā)信人的用戶代理向源郵件服務器發(fā)送郵件,以及源郵件服務器向目的郵件服務器發(fā)送郵件,都是使用SMTP協(xié)議。而POP協(xié)議或IMAP協(xié)議則是用戶從目的郵件服務器上讀取郵件所使用的協(xié)議。/sundae_mengHTTPHTTP6.5.5基于萬維網(wǎng)的電子郵件電子郵件從A發(fā)送到網(wǎng)易郵件服務器是使用HTTP協(xié)議。兩個郵件服務器之間的傳送使用SMTP。郵件從新浪郵件服務器傳送到B是使用HTTP協(xié)議。ABSMTP網(wǎng)易郵件服務器新浪郵件服務器/sundae_meng6.5.6通用因特網(wǎng)郵件擴充MIME

1.MIME概述

SMTP有以下缺點:SMTP不能傳送可執(zhí)行文件或其他的二進制對象。SMTP限于傳送7位的ASCII碼。許多其他非英語國家的文字(如中文、俄文,甚至帶重音符號的法文或德文)就無法傳送。SMTP服務器會拒絕超過一定長度的郵件。某些SMTP的實現(xiàn)并沒有完全按照[RFC821]的SMTP標準。

/sundae_mengMIME的特點MIME并沒有改動SMTP或取代它。MIME的意圖是繼續(xù)使用目前的[RFC822]格式,但增加了郵件主體的結構,并定義了傳送非ASCII碼的編碼規(guī)則。/sundae_mengMIME和SMTP的關系非ASCII碼7位ASCII碼MIMESMTPMIMESMTP7位ASCII碼7位ASCII碼非ASCII碼用戶用戶/sundae_mengMIME主要包括三個部分5

個新的郵件首部字段,它們可包含在[RFC822]首部中。這些字段提供了有關郵件主體的信息。定義了許多郵件內(nèi)容的格式,對多媒體電子郵件的表示方法進行了標準化。定義了傳送編碼,可對任何內(nèi)容格式進行轉(zhuǎn)換,而不會被郵件系統(tǒng)改變。/sundae_mengMIME增加5個

新的郵件首部MIME-Version:標志MIME的版本?,F(xiàn)在的版本號是1.0。若無此行,則為英文文本。Content-Description:這是可讀字符串,說明此郵件是什么。和郵件的主題差不多。Content-Id:郵件的唯一標識符。Content-Transfer-Encoding:在傳送時郵件的主體是如何編碼的。Content-Type:說明郵件的性質(zhì)。/sundae_meng2.內(nèi)容傳送編碼

(Content-Transfer-Encoding)

最簡單的編碼就是7位ASCII碼,而每行不能超過1000個字符。MIME對這種由ASCII碼構成的郵件主體不進行任何轉(zhuǎn)換。另一種編碼稱為quoted-printable,這種編碼方法適用于當所傳送的數(shù)據(jù)中只有少量的非ASCII碼。對于任意的二進制文件,可用base64編碼。

/sundae_meng3.內(nèi)容類型MIME著標準規(guī)定Content-Type說明必須含有兩個標識符,即內(nèi)容類型(type)和子類型(subtype),中間用“/”分開。MIME標準定義了7個基本內(nèi)容類型和15種子類型。/sundae_meng6.6動態(tài)主機配置協(xié)議DHCP為了將軟件協(xié)議做成通用的和便于移植,協(xié)議軟件的編寫者把協(xié)議軟件參數(shù)化。這就使得在很多臺計算機上使用同一個經(jīng)過編譯的二進制代碼成為可能。一臺計算機和另一臺計算機的區(qū)別,都可通過一些不同的參數(shù)來體現(xiàn)。在軟件協(xié)議運行之前,必須給每一個參數(shù)賦值。/sundae_meng協(xié)議配置在協(xié)議軟件中給這些參數(shù)賦值的動作叫做協(xié)議配置。一個軟件協(xié)議在使用之前必須是已正確配置的。具體的配置信息有哪些則取決于協(xié)議棧。/sundae_meng協(xié)議配置(續(xù))需要配置的項目

(1)IP地址

(2)子網(wǎng)掩碼

(3)默認路由器的IP地址

(4)域名服務器的IP地址這些信息通常存儲在一個配置文件中,計算機在引導過程中可以對這個文件進行存取。/sundae_meng動態(tài)主機配置協(xié)議DHCP

(DynamicHostConfigurationProtocol)

動態(tài)主機配置協(xié)議

DHCP提供了即插即用連網(wǎng)(plug-and-playnetworking)的機制。這種機制允許一臺計算機加入新的網(wǎng)絡和獲取IP地址而不用手工參與。/sundae_mengDHCP使用客戶服務器方式。需要IP地址的主機在啟動時就向DHCP服務器廣播發(fā)送發(fā)現(xiàn)報文(DHCPDISCOVER),這時該主機就成為DHCP客戶。本地網(wǎng)絡上所有主機

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論