
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交互的处理过程就完成了。