應(yīng)用層協(xié)議:每個應(yīng)用層的都是為了解決某一類應(yīng)用問題。而問題的解決又必須通過位于不同主機(jī)中的多個應(yīng)用進(jìn)程之間的通信和協(xié)同工作來完成。應(yīng)用進(jìn)程之間必須遵守嚴(yán)格的規(guī)則。應(yīng)用層協(xié)議應(yīng)當(dāng)定義如下幾個:
- 應(yīng)用進(jìn)程之間交換的報(bào)文類型,如請求報(bào)文和響應(yīng)報(bào)文
- 報(bào)文中各個字段及其詳細(xì)描述
- 包含在字段中的信息的含義
- 進(jìn)程何時(shí)、如何發(fā)送報(bào)文,以及對報(bào)文進(jìn)行響應(yīng)的規(guī)則
1.HTTP協(xié)議
萬維網(wǎng)使用統(tǒng)一資源定位符URL來標(biāo)志萬維網(wǎng)上的各種文檔,并使每一個文檔在整個因特網(wǎng)的范圍內(nèi)具有唯一的標(biāo)識符URL;萬維網(wǎng)客戶程序和服務(wù)器程序必須遵守嚴(yán)格的協(xié)議即HTTP協(xié)議。HTTP協(xié)議是一個應(yīng)用層協(xié)議,它使用TCP連接進(jìn)行可靠的傳送。另外為了提取顯示文檔,使用超文本標(biāo)記語言HTML
1.1 HTTP操作過程
1.2 用戶點(diǎn)擊firefox瀏覽器的某個頁面后觸發(fā)的事件
- 瀏覽器分析鏈接指向頁面的URL
- 向DNS請求解析URL對于的IP地址
- 域名系統(tǒng)解析出IP地址
- 瀏覽器與服務(wù)器建立TCP連接(服務(wù)器端的端口是80)
- 瀏覽器發(fā)出Get文件命令
- 服務(wù)器對Get請求作出相應(yīng),把文件index.html發(fā)送給瀏覽器
- 釋放TCP鏈接
- 瀏覽器顯示index.html中的所有文本信息
1.3 HTTP協(xié)議使用了面向連接的TCP作為傳輸層協(xié)議
保證了數(shù)據(jù)的可靠傳輸.HTTP不必考慮數(shù)據(jù)在傳輸過程中被丟棄后又怎樣被重傳.但是HTTP協(xié)議本身是無連接的.,也就是說通信雙方在交換HTTP報(bào)文之前不需要先建立HTTP鏈接
HTTP協(xié)議是無狀態(tài)的,服務(wù)器不記得曾經(jīng)訪問過的這個用戶.
1.4 HTTP1.0和HTTP1.1
1.4 HTTP的報(bào)文結(jié)構(gòu)
- 請求報(bào)文
- 響應(yīng)報(bào)文
三個部分組成,兩種報(bào)文格式的區(qū)別就是開始行不同
- 開始行,用于區(qū)分是請求報(bào)文(請求行)還是響應(yīng)報(bào)文(狀態(tài)行)
- 首部行
- 實(shí)體主體
請求報(bào)文的方法:
GET 請求獲取Request-URI所標(biāo)識的資源
POST 在Request-URI所標(biāo)識的資源后附加新的數(shù)據(jù)
HEAD 請求獲取由Request-URI所標(biāo)識的資源的響應(yīng)消息報(bào)頭
PUT 請求服務(wù)器存儲一個資源,并用Request-URI作為其標(biāo)識
DELETE 請求服務(wù)器刪除Request-URI所標(biāo)識的資源
TRACE 請求服務(wù)器回送收到的請求信息,主要用于測試或診斷
CONNECT 保留將來使用
OPTIONS 請求查詢服務(wù)器的性能,或者查詢與資源相關(guān)的選項(xiàng)和需求
響應(yīng)報(bào)文的特點(diǎn)
第一行就是狀態(tài)行,包括三項(xiàng)內(nèi)容,即HTTP的版本,狀態(tài)碼,及結(jié)束語
1xx 表示通知信息,請求處理中
2xx 表示請求成功
3xx 表示重定向
4xx 表示客戶端差錯
5xx 表示服務(wù)器差錯
2. XMPP協(xié)議
XMPP 是一種很類似于http協(xié)議的一種數(shù)據(jù)傳輸協(xié)議,它的過程就如同“解包裝–〉包裝”的過程,用戶只需要明白它接受的類型,并理解它返回的類型,就可以很好的利用xmpp來進(jìn)行數(shù)據(jù)通訊。基于可擴(kuò)展標(biāo)記語言(XML)的協(xié)議
2.1XMPP的基本網(wǎng)絡(luò)結(jié)構(gòu)
客戶端 服務(wù)器 網(wǎng)關(guān)
通信能夠在這三者的任意兩個之間雙向發(fā)生。服務(wù)器同時(shí)承擔(dān)了客戶端信息記錄,連接管理和信息的路由功能。網(wǎng)關(guān)承擔(dān)著與異構(gòu)即時(shí)通信系統(tǒng)的互聯(lián)互通,異構(gòu)系統(tǒng)可以包括SMS(短信),MSN,ICQ等?;镜木W(wǎng)絡(luò)形式是單客戶端通過TCP/IP連接到單服務(wù)器,然后在之上傳輸XML。
2.2 XMPP工作原理
XMPP核心協(xié)議通信的基本模式就是先建立一個stream,然后協(xié)商一堆安全之類的東西,中間通信過程就是客戶端發(fā)送XML Stanza,一個接一個的。服務(wù)器根據(jù)客戶端發(fā)送的信息以及程序的邏輯,發(fā)送XML Stanza給客戶端。但是這個過程并不是一問一答的,任何時(shí)候都有可能從一方發(fā)信給另外一方。通信的最后階段是關(guān)閉流,關(guān)閉TCP/IP連接。

2.3 關(guān)于通信原語細(xì)節(jié)的話就不總結(jié)了!大家可以參考這個人的。
http://blog.csdn.net/imyfriend/article/details/8584360
|