天天看點

新手入門:了解網絡應用與網絡協定2

新手入門:了解網絡應用與網絡協定2

Posted on 2007-04-26 10:53 szw104 閱讀(2) 評論(0)   編輯  收藏 引用 網摘 所屬分類: Web原理

新手入門:了解網絡應用與網絡協定2

應用層協定

  把網絡應用和應用層協定區分開來相當重要。應用層協定僅僅是網絡應用的一部分,讓我們看幾個例子。Web是一個允許使用者從Web伺服器按要求取得“文檔”的網絡應用,web應用由許多部件構成,包括—個文檔格式的标準(即超文本标記語言HTML)、Web浏覽器軟體、Web伺服器軟體(例如Apache、IIS伺服器)、一個應用層協定。Web的應用層協定是超文本傳送協定(HTTP),它定義如何在浏覽器和web伺服器之間傳遞消息。是以HTTP僅僅是Web應用的一部分。另一個例于是電子郵件應用。電子郵件應用同樣由許多部件構成,包括安置使用者信箱的郵件伺服器、讓使用者閱讀和建立電子郵件消息的郵件閱讀器、一個定義電子郵件消息結構的标推、一組定義如何在伺服器之間以及伺服器和閱讀器之間傳遞電子郵件消息并解釋其特定部分(例如信頭)的應用層協定。電于郵件應用的首要應用層協定是簡單郵件傳輸協定(SMTP)。是以SMTP也僅僅是電子郵件應用的一部分。

  我們已經指出,應用層協定定義運作在不同端系統上的應用程式程序如何彼此傳遞消息。具體地說,一個應用層協定定義:

  ●所傳遞消息的類型,例如請求消息和響應消息。

  ●各種消息類型的文法,也就是消息中的各個字段以及它們如何定界。

  ●各個字段的語義,也就是各個字段中的資訊的含義。

  ●确定一個程序何時以及如何發出消息或響應所收到消息的規則。

  有些應用層協定是在RFC文檔中詳細說明的,也就是說它們處于可免費擷取的公衆域。例如,HTTP就可以作為RFC擷取。浏覽器軟體開發者隻要遵循該RFC中定義的規則,其浏覽器就可以從同樣遵循這些規則的任何web伺服器取得Web頁面。然而,其他許多應用層協定卻是專屬的,有意不放在公衆域中。例如,許多現有的網際網路電話産品使用專屬的應用層協定。

  客戶和伺服器

  一個網絡應用協定通常擁有用戶端(client side)和伺服器端(server side)這兩個對等的“端”或實體,它們分别對應運作客戶程式的客戶程序(簡稱客戶)和運作伺服器程式的伺服器程序(簡稱伺服器),如圖2所示。處于一個端系統中的用戶端與處于另一個端系統中的伺服器端彼此通信。例如,web浏覽器實作的是HTTP用戶端,web伺服器實作的是HTTP伺服器端。在電子郵件應用中,發送郵件消息的郵件伺服器扮演SMIP的用戶端角色,接收郵件消息的郵件伺服器扮演SMTP的伺服器端角色。

圖2:客戶/伺服器互動

  對于許多應用來說,它們的用戶端和伺服器端可以同時實作在單台主機上。就以主機A和主機B之間的一個Telnet會話為例。如果這個Telnet會話是由主機A發起的(即主機A上有一個使用者登入到了主機B),那麼主機A運作的是該應用的用戶端,主機B運作的是該應用的伺服器端。相反,如果這個Telnet會話是由主機B發起的,那麼主機B運作的是該應用的用戶端。用于在兩台主機之間傳送檔案的FTP提供了另外一個例子。兩台主機之間一旦啟動一個FTP會話,其中任何一台主機就可以在該會話結束之前向另一台主機傳達檔案。盡管如此,我們還是按照幾乎所有網絡應用的慣常情況,把發起會話的主機标為客戶。另外,單台主機實際上可能同時作為某個給定應用的客戶主機和伺服器主機。例如,郵件伺服器主機同時運作着SMlP用戶端(用于發送郵件)和伺服器端(用于接收郵件)。

繼續閱讀