应用服务器和Web服务器之间的区别?

时间:2010-01-02 20:03:29

标签: webserver application-server

我可否知道应用程序服务器和Web服务器之间的区别?请列出每个例子。

4 个答案:

答案 0 :(得分:6)

'网络服务器'通常是使用http(或https)协议提供内容的任何服务器程序。这些服务器倾向于侦听特定端口(80或443)。这些客户通常是网络浏览器,如Chrome,Firefox或Internet Explorer。

Web服务器示例:Apache,Microsoft IIS

'应用程序服务器'是一个更模糊,定义不太明确的术语。它可以指任何为客户端请求提供响应的程序。

在webserving的上下文中,“应用程序服务器”倾向于引用用于生成动态内容的更高级别框架。这可能是某种容器,您可以在其中部署特定的“Web应用程序”。示例包括Apache Tomcat,WebSphere,JBoss等。

在这两种情况下,该术语也可以指托管软件的机器硬件来执行这些操作。

答案 1 :(得分:2)

Web服务器是servlet / jsp容器等简单操作的容器。 应用程序服务器是一个像Web服务器这样的容器,但添加的操作比Web服务器更多,如事务管理器,数据源,集群,负载平衡,消息传递和其他复杂的业务操作。

web服务器,如apatche tomcat。

应用服务器,如jboss,glassfish,web sphere,oracle应用服务器。

答案 2 :(得分:0)

Web服务器有时可以充当应用程序服务器(例如,当它承载Web服务时)。但是,应用程序服务器不必实现为Web服务器。它可以只监听tcp套接字并采取相应的行动

答案 3 :(得分:-1)

网络服务器

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

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

虽然Web服务器本身可能不支持事务或数据库连接池,但它可能采用各种策略来实现容错和可扩展性,例如负载平衡,缓存和群集功能,这些功能通常被错误地指定为仅为应用程序服务器保留的功能。 / p>

应用程序服务器

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

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

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