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

时间:2011-07-18 13:37:39

标签: java web-applications webserver weblogic application-server

作为外行,我如何理解Web服务器和应用服务器之间的区别?如果您可以使用基于Java的Web应用程序以非常“简单”的方式给出一个非常好的例子,那就非常好了。

当我们说Weblogic时,它只是一个Web服务器吗?

5 个答案:

答案 0 :(得分:8)

Web服务器可以处理HTTP请求和响应。

应用程序服务器(如WebLogic,WebSphere,JBoss AS,Glassfish等)通常包含Web服务器,但也增加了许多功能。最重要的是它管理对象。它们是servlet(Servlet容器),EJB(ejb容器),JMS监听器等。

答案 1 :(得分:1)

Webserver只能执行Web应用程序i,e servlet和JSP,并且只有一个称为Web容器的容器,用于解释/执行Web应用程序

应用程序服务器可以执行企业应用程序,i,e(servlets,jsps和EJB)它有两个容器1. Web容器(用于解释/执行servlet和jsps)2。EJB容器(用于执行EJB)。它可以执行负载平衡,事务划分等操作

答案 2 :(得分:1)

我会说定义各不相同。在通用上下文中,Web服务器是一种服务器,它可以接收传入的Web请求,并了解如何处理和响应它们。有些请求是静态的(html文件,图像等),有些是动态的。在动态请求的情况下,Web服务器将知道路由处理请求的位置,可以是JSP页面或java servlet,PHP脚本,perl CGI脚本等等。

虽然此上下文中的“Web服务器”执行动态处理程序,但不认为它包含动态处理程序的任何支持中间件功能。

相比之下,Application Server是一种通用执行环境,提供某种类型的中间件层支持。示例是EJB容器或Windows内置的.NET框架(Windows本身就是“应用程序服务器”)。应用程序服务器没有固有的要求与Web请求有关(尽管很多),它只是一个通用的执行上下文和任何类型的应用程序的容器,提供某种额外的中间件支持。

在纯粹以网络为中心的环境中,很多人会在静态与动态内容中划清界限。在此定义中,“Web服务器”只能处理静态信息本身的请求,并且会将对动态内容的请求传递给“应用程序服务器”。例如,Apache httpd是Web服务器,Tomcat是应用程序服务器。 IIS是两者的组合。在Java Web世界中,应用程序服务器可以是servlet容器(如Tomcat),也可以是提供Java EE中间件支持(EJB)容器的完整Java EE容器(如JBoss,WebLogic或WebSphere)。 servlet容器。

答案 3 :(得分:0)

并添加到之前的答案,Weblogic是app服务器,而不仅仅是Web服务器。

答案 4 :(得分:0)

基本上,如果我们说Web服务器和Web服务器之间的主要区别Application Server是这些服务器工作的协议。

Web服务器 - 它适用于HTTP和&amp ;;等协议。 HTTPS。此服务器的示例是Apache。对于Web服务器,您使用JSP,Servlet。

Application Server - 适用于任何协议。例如JBOSS。在应用程序服务器上,我们托管EJB,Web服务或任何业务逻辑。