2.1 應用程式層協議原理
用戶端伺服器結構體系
應用程式層協議 定義了運行在不同的端系統上的應用程式進程如何相互傳遞報文
交換報文類型、報文類型文法、欄位含義、進程何時、如何發送報文及對報文響應規則
2.2 web應用和http協議
web的應用程式層協議是超文字傳輸通訊協定 (HTTP),它是web的核心。
web頁面由對象組成,對象簡單來說就是檔案。
web瀏覽器實現了http的客戶機端
web伺服器用於儲存web對象,每個對象有url定址
http定義了web用戶端如何向服務端請求web頁面,以及伺服器如何將web頁面傳送給用戶端
http使用tcp作為它的支撐運輸層傳輸協議
http是無狀態協議
web伺服器總是開啟的,並且有固定的ip地址
非持久串連和持久串連:確定每個請求響應對經過一個單獨的Tcp串連發送還是所有的請求及響應經相同的tcp串連發送,前一種非持久串連後一種持久串連
http 報文格式
1 http請求報文
GET /somedir/page.html HTTP/1.1 (請求行)
Host :www.somescholl.edu 後面都為首部行
Connection: close (使用非持久串連)
User-agent: Mozilla/4.0 (用戶端類型)
Accept-language:fr
2 http響應報文
HTTP/1.1 200 OK 狀態行
Connection :close 後面首部行
Date:Thu,03 Jul 2003 GMT
server:Apache/1.3.0(unix)
Last-Modified: sun,6 May 2007 GMT
Content-Length :6821
Content-Type :text/html
(data data ...) 實體主體
一些狀態代碼:200 OK 請求成功,資訊包含在返回的響應報文中
301 Moved permanently 對象已被永久轉移
400 Bad Request 通用差錯代碼 ,請求不被伺服器理解
404 Not Found 被請求文檔不在伺服器上
505 HTTp Version not supported
使用者與伺服器互動: cookie
cookie四個組成部分 : 1 http響應報文中有一個cookie首部行
2 http請求報文中有一個cookie首部行
3 使用者端系統保留有一個cookie檔案,使用者瀏覽器管理
4 web網站有一個後端資料庫
suan通過瀏覽器訪問amazon,請求報文到達amazon後,該web網站將產生一個唯一標識碼,並以此作為索引在它的後端資料庫中產生一個表項。接下來amazon
伺服器用一個包含set-cookie:首部行http響應報文對susan 的瀏覽器進行響應,susan的瀏覽器
受到http響應報文時,它會看到該set-cookie:首部
web緩衝
web緩衝器也叫Proxy 伺服器
條件get
檔案傳輸通訊協定FTP
文本傳輸協議。運行於TCP之上,FTP 使用兩個並行的TCP串連來傳輸檔案
一個 控制串連 21一個資料連線20 ,FTP控制資訊是帶外傳送的。
FTP命令和回答
USER向伺服器傳送使用者標識
PASS傳送使用者口令
LIST 請求伺服器目前的目錄所有檔案清單
RETR從目前的目錄檢索檔案
STOR目前的目錄存放檔案
狀態代碼 331 username ok
DNS 網際網路目錄服務
DNS 1 一個由分層的DNS伺服器實現的分散式資料庫
2 一個允許主機查詢分散式資料庫的應用程式層協議
DNS協議運行在UDP之上
請求URL過程
1 同一台主機運行著 DNS應用的用戶端機
2 該瀏覽器提取主機名稱,傳給dns客戶機端
3 dns客戶機向dns伺服器發送一個包含主機名稱的請求
4 該dns客戶機接受一份回答報文,對應該主機名稱的ip地址
5 瀏覽器接收到dns的ip地址,就可以由該IP地址定位的http伺服器發送一個TCP串連