1.應(yīng)用層協(xié)議原理
1.1網(wǎng)絡(luò)應(yīng)用程序體系結(jié)構(gòu)
1)客戶-服務(wù)器體系結(jié)構(gòu)
- 客戶相互之間不直接通信胧瓜。
- 該服務(wù)器具有固定的垒探、周知的地址眉撵,該地址稱為IP地址帐要。
2)P2P體系結(jié)構(gòu)(對(duì)等體系結(jié)構(gòu))
- 應(yīng)用程序間斷的主機(jī)之間使用直接通信把敞,這些主機(jī)稱為對(duì)等方。
1.2進(jìn)程通信
1)進(jìn)程與計(jì)算機(jī)之間的接口
進(jìn)程通過一個(gè)稱為套接字的軟件接口向網(wǎng)絡(luò)發(fā)送報(bào)文和從網(wǎng)絡(luò)接收?qǐng)?bào)文榨惠。套接字是一臺(tái)主機(jī)內(nèi)應(yīng)用層和運(yùn)輸層之間的接口奋早。
2)進(jìn)程尋址
在因特網(wǎng)中,主機(jī)由其IP地址標(biāo)識(shí)赠橙。
目的地端口號(hào)用于標(biāo)識(shí)接收主機(jī)的接收進(jìn)程耽装。
1.3因特網(wǎng)提供的運(yùn)輸服務(wù)
1)TCP服務(wù)
- 面向連接的服務(wù)
- 可靠的數(shù)據(jù)傳輸服務(wù)
TCP協(xié)議還具有擁塞控制機(jī)制。
2)UDP服務(wù)
UDP是一種不提供不必要服務(wù)的輕量級(jí)運(yùn)輸協(xié)議期揪,它僅提供最小的服務(wù)掉奄。UDP協(xié)議提供一種不可靠的數(shù)據(jù)傳送服務(wù)。UDP沒有包括擁塞控制機(jī)制凤薛。
1.4應(yīng)用層協(xié)議
應(yīng)用層定義了運(yùn)行在不同端系統(tǒng)上的進(jìn)程如何交換報(bào)文姓建。
** 交換的報(bào)文類型**,如請(qǐng)求報(bào)文和響應(yīng)報(bào)文缤苫。
各種報(bào)文類型的語法速兔,如報(bào)文中的各個(gè)字段以及這些字段是如何描述的。
字段的語義榨馁,即這些這段包含的信息的含義憨栽。
一個(gè)進(jìn)程何時(shí)以及如何發(fā)送報(bào)文,對(duì)報(bào)文進(jìn)行響應(yīng)的規(guī)則翼虫。
2.Web和HTTP協(xié)議
2.1HTTP概況
Web的應(yīng)用層協(xié)議是超文本傳輸協(xié)議(HyperText Transfer Protocol屑柔,HTTP),它是Web的核心珍剑。
Web頁面(也叫文檔)由對(duì)象組成掸宛。一個(gè)對(duì)象只是一個(gè)文件,如一個(gè)html文件招拙,一個(gè)JPEG圖形唧瘾,一個(gè)Java小程序。HTML基本文件通過URL地址引用頁面中的其他對(duì)象别凤。每個(gè)URL地址由兩部分組成:存放對(duì)象的服務(wù)器主機(jī)名和對(duì)象的路徑名饰序。
HTTP定義了Web客戶端向Web服務(wù)器請(qǐng)求Web頁面的方式,以及服務(wù)器向客戶端傳送Web頁面的方式规哪。
HTTP使用TCP作為它的支撐運(yùn)輸協(xié)議求豫。
服務(wù)器向客戶端發(fā)送被請(qǐng)求的頁面,而不存儲(chǔ)任何關(guān)于該客戶的狀態(tài)信息,所以我們說HTTP是一個(gè)無狀態(tài)協(xié)議蝠嘉。
2.2非持續(xù)連接和持續(xù)連接
1)非持續(xù)連接
每個(gè)請(qǐng)求/響應(yīng)對(duì)經(jīng)一個(gè)單獨(dú)的TCP連接發(fā)送最疆。每個(gè)TCP連接在服務(wù)器發(fā)送一個(gè)對(duì)象后關(guān)閉,每個(gè)TCP連接只傳送一個(gè)請(qǐng)求報(bào)文和一個(gè)響應(yīng)報(bào)文蚤告。
2)持續(xù)連接
所有的請(qǐng)求/響應(yīng)對(duì)經(jīng)相同的TCP連接發(fā)送努酸。服務(wù)器在發(fā)送響應(yīng)后保持該TCP連接打開。
2.3HTTP報(bào)文格式
2.3.1HTTP請(qǐng)求報(bào)文
一個(gè)HTTP請(qǐng)求報(bào)文由請(qǐng)求行(request line)杜恰、請(qǐng)求頭部(header)获诈、空行和請(qǐng)求數(shù)據(jù)4個(gè)部分組成。
2.3.2HTTP響應(yīng)報(bào)文
響應(yīng)報(bào)文與請(qǐng)求報(bào)文相對(duì)應(yīng)心褐,分為初始狀態(tài)行烙荷、首部行、空行和實(shí)體主體檬寂。
HTTP請(qǐng)求報(bào)文和響應(yīng)報(bào)文相關(guān)鏈接:
http://www.cnblogs.com/kissdodog/archive/2013/01/11/2856335.html
3.文件傳輸協(xié)議:FTP
比較HTTP和FTP的不同:
- HTTP和FTP都運(yùn)行在TCP上。
- FTP使用了兩個(gè)并行的TCP連接來傳輸文件戳表,一個(gè)是控制連接桶至,一個(gè)是數(shù)據(jù)連接。因?yàn)镕TP使用了一個(gè)獨(dú)立的控制連接匾旭,所以我們稱FTP的控制信息是帶外傳送的镣屹。HTTP是帶內(nèi)傳送。
- 在同一個(gè)會(huì)話期間价涝,如果用戶還需要傳輸另一個(gè)文件女蜈,F(xiàn)TP則打開另一個(gè)數(shù)據(jù)連接∩瘢控制連接是貫穿整個(gè)會(huì)話期間的伪窖,但是每一次文件傳輸都需要建立一個(gè)新的數(shù)據(jù)連接。
- FTP服務(wù)器必須在整個(gè)繪畫期間保留用戶的狀態(tài)居兆。
4.因特網(wǎng)中的電子郵件協(xié)議
因特網(wǎng)電子郵件系統(tǒng)包含:用戶代理(User agent)覆山、郵件服務(wù)器(mail server)、簡單郵件傳輸協(xié)議(SMTP)泥栖。