3.3.1 Web服務器的工作原理
Web服務器能夠解析HTTP協議。當Web服務器接收到一個HTTP請求后,它會返回一個HTTP響應,響應的內容可以是一個靜態頁面或圖片,或者進行頁面跳轉,或者把動態響應的產生委托給其他程序,例如CGI腳本、JSP腳本、Servlets、ASP腳本,或者是其他服務器端技術。無論腳本的目的如何,這些服務器端的程序通常產生一個HTML響應,讓瀏覽器可以瀏覽。
在提供Web服務的過程中,真正進行事務處理的是Web應用程序,它工作在Web服務器之上,通過各種協議,把商業邏輯提供給客戶端應用程序。Web應用程序服務器是通過組件的應用程序接口把商業邏輯提供給客戶端應用程序,例如基于J2EE(Java 2 Platform,Enterprise Edition)應用程序服務器的EJB(Enterprise JavaBean)組件模型。
Web服務器和Web應用程序的界限是很模糊的,人們一般不區分Web服務器和在其上運行Web應用程序。典型的Web應用程序結構如圖3-2所示。

圖3-2 Web應用程序結構
Web工作方式基于客戶端和服務器。客戶端和服務器的交互實際上是一個請求-應答的過程。這個過程遵循以下步驟:
(1)計算機上運行一個Web瀏覽器客戶端程序,如Netscape或者Microsoft InternetExplorer。
(2)Web瀏覽器客戶端通過網絡與Internet建立連接。
(3)客戶端向Internet上的Web服務器請求一個頁面。
(4)Web服務器收到請求后,查找所請求的HTML或者交給Web應用程序進行事務處理,生成客戶端請求的頁面。
(5)Web服務器將所請求的頁面傳到客戶端。
(6)瀏覽器接收到服務器傳來的HTML文件后,將對它解釋并在屏幕上顯示出來。
這樣一個Web交互的處理過程就完成了。