1. 程式人生 > >計算機網路自頂向上學習二(應用層協議)

計算機網路自頂向上學習二(應用層協議)

現代網路應用程式中所使用的兩種主流體系結構是:客戶-伺服器體系結構,P2P體系結構。

客戶-伺服器體系中,有一個總是開啟的主機稱為伺服器,它服務於許多其他稱為客戶的主機的請求。伺服器具有固定的地址。包括:WEB,FTP,TELENT和電子郵件。

一個伺服器處理大量客戶請求會負擔很大,所以配備大量的多個數據中心共同處理。

P2P:應用程式在主機對之間通訊,包括檔案共享,迅雷,skype,。

端系統的程序通訊。應用程式開發者可以控制套接字在應用層端的一切,對於運輸層的控制僅限於選擇運輸層協議。

TCP服務:面向連線和可靠資料傳輸服務,還具有擁塞控制機制。SSL加密協議在應用層上對TCP進行加強,傳送程序向SSL套接字傳遞明文資料,加密後傳給TCP套接字。

UDP服務:無連線,不可靠,當程序將一個報文傳送進UDP套接字時,UDP協議並不保證該報文將到達接受程序,也有可能是亂序到達。

運用TCP的服務:電子郵件,遠端終端訪問,WEB,檔案傳輸FTP,流失多媒體。

運用UDP的服務:廣播,因特網電話。

應用層協議:定義了執行在不同端系統上的應用程式如何傳遞報文。

報文型別,各種報文型別的語法,欄位所包含資訊的含義,何時如何傳送報文與如何響應。

web頁面:由物件組成,一個物件只是一個檔案,諸如一個HTML檔案,一個JPEG圖形,一個JAVA小程式或一個視訊片段。物件通過URL地址定址,URL地址包括主機名和路徑名。web伺服器儲存物件。

HTTP使用TCP作為其運輸協議。使用者點選一個頁面時,HTTP客戶與伺服器建立一個TCP連線,一旦建立可通過套接字通訊。

非持續連線和持續連線:每一個請求響應對經一個TCP連線,還是對應多個TCP連線。每一個WEB頁面可能包含有多個物件。

非持續連線:HTTP接受到響應報文後,TCP連線關閉。從響應報文中提取該檔案,檢查HTML檔案,得到物件的引用。再發起TCP連線,可以是並行TCP連線或序列TCP連線。

持續連線:在接收到響應報文後,保持該TCP連線。

HTTP請求報文:請求行(第一行),首部行(後面的行),實體。

請求行:方法欄位(GET,POST,HEAD,PUT,DELETE)。,URL欄位,HTTP版本欄位。

首部行:HOST(物件所在主機URL),CONNETION(持續與非持續),USER-AGENT(瀏覽器型別)

實體:GET的實體一般為空,POST的實體包含關鍵字搜尋。HEAD,不返回請求物件,有報文。PUT,向伺服器上傳物件。DELETE,刪除web伺服器上的物件。

HTTP迴應報文:狀態行,首部行,實體。

狀態行;200,ok。301,請求物件被永久轉移。400,請求無法理解。404,請求文件不在伺服器。505,版本不支援

HTTP使用了cookie,允許站點對使用者進行跟蹤。當請求報文到達伺服器時,將產生一個識別碼,返回響應報文將包含識別碼的首部。瀏覽器收到響應報文後,在其管理的特定cookie檔案中新增該伺服器的主機名等資訊。cookie用於標識一個使用者。

SMTP:郵件傳輸協議

A呼叫郵件代理程式-傳送報文-A的郵件伺服器-A郵件伺服器的SMTP客戶端發現了報文並建立到B的SMTP伺服器的TCP連線-B的郵件伺服器接受報文放入B的郵箱中-B的郵件代理程式閱讀。

SMTP用來將郵件從傳送方的使用者代理傳送到傳送方的郵件伺服器,從一個郵件伺服器向另一個郵件伺服器傳輸檔案。SMTP要求每個報文使用7位元ASCII碼格式。,SMTP為推協議。SMTP將所有的報文物件放在一個報文之中。HTTP把每個物件封裝到它自己的HTTP響應報文中。

如何從郵件接收方伺服器獲取郵件呢?可利用POP,HTTP協議。

今天的web瀏覽器收發郵件,兩端均使用HTTP,中間使用SMTP。

DNS提供的服務:DNS執行在UDP上。

DNS應用客戶端向DNS伺服器傳送請求,收到含有IP地址的報文,能夠向位於該IP地址80埠的HTTP伺服器程序發起一個TCP連線。