您好,登錄后才能下訂單哦!
這篇文章給大家介紹Web 服務器是怎么被應用服務器收編的,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在傳統 Web 應用的多層架構中
系統一般會包括有負載均衡器
Web 服務器、應用服務器等多個后端服務
其中,Web 服務器和應用服務器
常常被人視為一個整體
但其實從工作原理上來說
兩者還是有一定區分的
Web Server
Web 服務器的基本功能就是提供 Web 信息瀏覽服務。它支持 HTTP 協議、HTML 文檔格式及 URL,專門處理 HTTP 請求(request),可與客戶側的網絡瀏覽器配合。它所提供的是一個可以執行服務器端(server-side)程序和返回(程序所產生的)響應(response)的環境。
Web 服務器在 web 頁面處理上的步驟如下:
1. Web 瀏覽器向一個特定的服務器發出 Web 頁面請求;
2. Web 服務器接收到 web 頁面請求后,會把請求發至應用服務器處,傳遞給處理請求的程序,以尋找所請求的 web 頁面;
3. Web 服務器從應用服務器處接收到所請求的 web 頁面內容,并將結果返回給客戶側的 Web 瀏覽器,由其顯示出來。
The Application Server
應用程序服務器(簡稱應用服務器)的職能則是讓多個用戶可以同時使用應用程序。它提供的是客戶端應用程序可以調用(call)的方法(methods),并通過很多協議來為應用程序提供(serves)商業邏輯(business logic)。
如果說 Web 服務器主要是處理向瀏覽器發送 HTML 以供瀏覽,那應用服務器就是提供訪問商業邏輯的途徑以供客戶端應用程序使用。應用程序使用此商業邏輯就象調用對象的一個方法 (或過程語言中的一個函數)。比如在用戶中心、結算中心、支付中心中所涉及到的導航、存儲數據、安全認證、控制流程,都需要靠應用服務器來響應。
在過去,兩者之間的功能區別較為明顯
而如今在大多數情況下
人們習慣于把 Web 服務器歸類為
應用服務器的子集
因為隨著各自功能項的不斷添加
它們之間的界線早已變得模糊
我們知道,web 頁面內容有靜態的,也有動態的。靜態的內容,Web 服務器可以直接將結果發回給瀏覽器,對于動態內容,則通常需要交給應用服務器先處理,由應用服務器返回結果。早期由于受 HTTP 1.0 協議的局限,web 服務所提供的頁面內容和圖片服務大多是靜態的。后來隨著CGI功能的添加,意味著可以為每個 web 請求啟動一個進程來產生動態內容。例如.NET中最常用的 Web 服務器是IIS,因為IIS 就可以自已解釋處理 ASP、ASP.NET 這兩種微軟的動態網頁腳本語言。
雖然 Web 服務器不支持事務處理或數據庫連接池,但現在由于 HTTP 協議愈發成熟,使得 Web 服務器也變得更加復雜,擁有了像緩存、安全和 session 管理這些附加功能,它可以處理更高的負載、更多的并發,并通過傳送 XML 有效載荷(payload)給服務器,讓自己具備處理數據和響應(response)的能力(前提是不需要應用服務器來處理相關邏輯)。
就象 Web 服務器一樣,應用服務器配置了多種容錯(fault tolerance)和可擴展(scalability)技術,并且傳統的應用服務器也開始逐漸嵌入 HTTP 通信等原本屬于 Web 服務器的功能。現在大多數應用程序服務器內其實已經包含了 Web 服務器,這就意味著可以把 Web 服務器當作是應用程序服務器的一個子集(subset)。不過在一些復雜網站的架構中,我們還是會建議將兩者進行獨立配置。畢竟,部分功能的必要分離有助于提高系統的整體性能,并給維護和升級留下余地。
關于Web 服務器是怎么被應用服務器收編的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。