什么';web服务器和应用服务器之间的区别是什么?它们之间的关系是什么?

什么';web服务器和应用服务器之间的区别是什么?它们之间的关系是什么?,web,server,Web,Server,在很多情况下,我会遇到这样一个问题:web服务器和应用服务器之间有什么区别?特别是当我遇到RubyonRails(一个在ruby上工作的web框架)时。web服务器 Web服务器处理HTTP协议。当Web服务器接收到HTTP请求时,它会以HTTP响应进行响应,例如发回HTML页面。为了处理请求,Web服务器可以使用静态HTML页面或图像进行响应,发送重定向,或者将动态响应生成委托给其他一些程序,例如CGI脚本、JSP(JavaServer Pages)、servlet、ASP(Active se

在很多情况下,我会遇到这样一个问题:web服务器和应用服务器之间有什么区别?特别是当我遇到RubyonRails(一个在ruby上工作的web框架)时。

web服务器

Web服务器处理HTTP协议。当Web服务器接收到HTTP请求时,它会以HTTP响应进行响应,例如发回HTML页面。为了处理请求,Web服务器可以使用静态HTML页面或图像进行响应,发送重定向,或者将动态响应生成委托给其他一些程序,例如CGI脚本、JSP(JavaServer Pages)、servlet、ASP(Active server Pages)、服务器端Javascript或其他一些服务器端技术。不管它们的目的是什么,这样的服务器端程序都会生成一个响应(通常是HTML),以便在Web浏览器中查看

了解Web服务器的委托模型相当简单。当请求进入Web服务器时,Web服务器只需将请求传递给最有能力处理它的程序。除了提供一个服务器端程序可以在其中执行并传回生成的响应的环境之外,Web服务器不提供任何功能。服务器端程序通常为自己提供事务处理、数据库连接和消息传递等功能

虽然Web服务器本身可能不支持事务或数据库连接池,但它可能采用各种容错和可伸缩性策略,例如负载平衡、缓存和群集功能,这些功能常常被错误地指定为仅为应用服务器保留的功能

应用服务器

至于应用服务器,根据我们的定义,应用服务器通过各种协议(可能包括HTTP)向客户机应用程序公开业务逻辑。Web服务器主要处理发送HTML以在Web浏览器中显示,而应用服务器则提供对业务逻辑的访问,供客户端应用程序使用。应用程序可以像调用对象(或过程世界中的函数)上的方法一样使用此逻辑

这样的应用服务器客户端可以包括运行在PC、Web服务器甚至其他应用服务器上的GUI(图形用户界面)。在应用程序服务器及其客户机之间来回传输的信息不限于简单的显示标记。相反,信息是程序逻辑。由于逻辑采用数据和方法调用的形式,而不是静态HTML,因此客户机可以根据需要使用公开的业务逻辑


在大多数情况下,服务器通过组件API公开此业务逻辑,如J2EE(Java2平台,企业版)应用服务器上的EJB(企业JavaBean)组件模型。此外,应用服务器管理自己的资源。此类把关职责包括安全性、事务处理、资源池和消息传递。与Web服务器一样,应用服务器也可以采用各种可扩展性和容错技术。

Web服务器

Web服务器处理HTTP协议。当Web服务器接收到HTTP请求时,它会以HTTP响应进行响应,例如发回HTML页面。为了处理请求,Web服务器可以使用静态HTML页面或图像进行响应,发送重定向,或者将动态响应生成委托给其他一些程序,例如CGI脚本、JSP(JavaServer Pages)、servlet、ASP(Active server Pages)、服务器端Javascript或其他一些服务器端技术。不管它们的目的是什么,这样的服务器端程序都会生成一个响应(通常是HTML),以便在Web浏览器中查看

了解Web服务器的委托模型相当简单。当请求进入Web服务器时,Web服务器只需将请求传递给最有能力处理它的程序。除了提供一个服务器端程序可以在其中执行并传回生成的响应的环境之外,Web服务器不提供任何功能。服务器端程序通常为自己提供事务处理、数据库连接和消息传递等功能

虽然Web服务器本身可能不支持事务或数据库连接池,但它可能采用各种容错和可伸缩性策略,例如负载平衡、缓存和群集功能,这些功能常常被错误地指定为仅为应用服务器保留的功能

应用服务器

至于应用服务器,根据我们的定义,应用服务器通过各种协议(可能包括HTTP)向客户机应用程序公开业务逻辑。Web服务器主要处理发送HTML以在Web浏览器中显示,而应用服务器则提供对业务逻辑的访问,供客户端应用程序使用。应用程序可以像调用对象(或过程世界中的函数)上的方法一样使用此逻辑

这样的应用服务器客户端可以包括运行在PC、Web服务器甚至其他应用服务器上的GUI(图形用户界面)。在应用程序服务器及其客户机之间来回传输的信息不限于简单的显示标记。相反,信息是程序逻辑。由于逻辑采用数据和方法调用的形式,而不是静态HTML,因此客户机可以根据需要使用公开的业务逻辑

在大多数情况下,服务器通过组件API公开此业务逻辑,如J2EE(Java2平台,企业版)应用服务器上的EJB(企业JavaBean)组件模型。此外,应用服务器管理自己的资源。此类把关职责包括安全、事务处理、资源池