2.1應用層協議原理
網絡應用程序位于應用層
開發網絡應用程序:
寫出能夠在不同的端系統上通過網絡彼此通信的程序
2.1.1網絡應用程序體系結構分類:
客戶機/服務器結構
服務器:
總是打開(always-on)
具有固定的、眾所周知的IP地址
主機群集常被用于創建強大的虛擬服務器
客戶機:
無需總打開,可間斷的同服務器連接
可擁有動態IP地址
客戶機相互之間不直接通信
如:搜索引擎、電子郵件
P2P體系結構
沒有總是打開的服務器
任意一對主機直接相互通信
對等方間歇連接并且可以改變IP地址
優點:self-scalability自組織
cost effective劃算的,效率高
缺點:難以管理
安全性
混合的體系結構
2.1.2 進程通信
進程:運行在端系統中的程序
同一主機上的兩個進程通過內部進程通信機制進行通信
不同主機上的兩個進程通過計算機網絡交換報文相互通信
注意:具有P2P體系結構的應用程序,同時有客戶機進程和服務器進程。既發送又接收。
進程與網絡的接口是套接字
通過套接字,進程在網絡上發送和接收報文
進程類比于房屋中的人,套接字類比于門
發送進程把報文從門發送出去
接收進程把報文從門接收進來
套接字又叫做網絡應用程序編程接口API
用戶通過API對傳輸層的控制,但僅限于:
(1) 選擇傳輸協議,如TCP或UDP;
(2) 能設定幾個參數,如最大緩存、最大報文長度等
進程標識:包括IP地址和端口號(IP,port),通過這個標識才能找到目的主機上的對應進程
2.1.3應用程序的運輸要求以及協議選擇
一般需要實時的,會對傳輸時延、帶寬要求較高,一般使用UDP。
TCP主要是可靠
UDP就是實時
2.2 Web應用和HTTP協議
網頁:(Web頁,或稱文檔)由許多對象組成。
對象:就是文件,可以是HTML文件, JPEG圖像, Java applet, 音頻文件…
多數網頁由單個基本HTML文件和若干個所引用的對象構成
每個對象通過一個URL(Uniform Resource Locator統一資源定位符)尋址
2.2.1 HTTP概述
HTTP: 超文本傳輸協議 HyperText Transfer Protocol
Web的應用層協議,建立在TCP運輸層協議上
client/server