客戶端伺服器
主從式架構(Client/Server)是一種網路架構,它把客戶端(Client)(通常是一個採用圖形用戶界面的程式)與伺服器(Server)區分開來。每一個客戶端軟體的實例都可以向一個伺服器或應用程式伺服器發出請求。有很多不同類型的伺服器,例如檔案伺服器、終端伺服器和郵件伺服器等。雖然它們的存在的目的不一樣,但基本構架是一樣的。這個方法通過不同的途徑套用於很多不同類型的應用程式,最常見就是目前在網際網路上用的網頁。例如,當你在維基百科閱讀文章時,你的電腦和網頁瀏覽器就被當做一個客戶端,同時,組成維護百科的電腦、資料庫和應用程式就被當做伺服器。當你的網頁瀏覽器向維基百科請求一個指定的文章時,維基百科伺服器從維基百科的資料庫中找出所有該文章需要的信息,結合成一個網頁,再傳送回你的瀏覽器。特徵
主從式架構意圖提供一個可縮放(scaleable)的架構,藉此網上的計算機或者處理過程是一個客戶端或者伺服器。伺服器軟體一般,但不是總是,運行在強大的專用商業計算機上。另一方面,客戶端一般運行在普通個人電腦或者工作站上。
服務端的特徵:
被動的角色(從)。等待來自客戶端的要求。處理要求並傳回結果。客戶端的特徵:主動的角色(主)。傳送要求。等待直到收到回應。伺服器可是有狀態或者無狀態的。無狀態的伺服器不會保留任何兩個請求之間的信息,有狀態伺服器會記住請求之間的信息。這些信息的作用域可以是全局的或者某個事務(session)的。靜態 HTML頁面伺服器是一個無狀態伺服器的例子,ApacheTomcat是一個有狀態伺服器。服務端與客戶端的互動經常使用循序圖描述,循序圖是UML中的一個標準。另一種已知的網路架構類型是點對點架構(peer-to-peerarchitecture),因為每一個即點或程式的實體都是客戶端與伺服器的角色,並且具有對等的責任。目前這兩種架構都被廣泛使用。
與點對點技術的比較
另一種已知的網路架構類型是點對點技術(peer-to-peerarchitecture),不同於主從式架構,網路上的每個使用端或程式的實體都擁有相同的等級,同時扮演用戶端與伺服器的角色。Peertopeer常被縮寫成P2P。此兩種架構目前都被廣范使用,可以找尋有關中心式網路(Client-Server)或非中心式網路(Peer-to-peer)得到更詳細的資訊,此兩種架構都可於Windows與Linux上面使用。