应用服务器和web服务器之间的区别是什么?


当前回答

简言之web服务器是通过HTTP请求向用户提供静态网页的服务器。应用服务器是承载系统的业务逻辑的服务器。它通常同时托管长时间运行的/批处理进程和/或互操作服务,这些服务不适合人类使用(REST/JSON服务、SOAP、RPC等)。

其他回答

最大的区别是Web服务器处理HTTP请求,而应用程序服务器将在任意数量的协议上执行业务逻辑。

应用服务器和web服务器都用于托管web应用程序。另一方面,Web服务器处理Web容器,Application Server处理Web容器以及EJB(Enterprise JavaBean)容器或Microsoft dot Net的COM+容器。

Web服务器被设计为提供HTTP静态内容(如HTML、图像等),对于动态内容,具有支持Perl、PHP、ASP、JSP等脚本语言的插件,并且仅限于HTTP协议。以下服务器可以生成动态HTTP内容。

Web服务器的编程环境:

IIS:ASP(.NET)

Apache Tomcat:Servlet

码头:Servlet

阿帕奇:Php,CGI

应用程序服务器可以执行Web服务器所能执行的任何操作,并使用任何协议进行侦听。应用程序服务器具有支持应用程序级服务的组件和功能,如连接池、对象池、事务支持、消息服务等。

应用程序服务器的编程环境:

MTS:COM公司+

是:EJB

JBoss:EJB

WebLogic应用服务器:EJB

实际上,Apache是一个web服务器,Tomcat是一个应用程序服务器。当HTTP请求到达web服务器时。然后,web服务器将静态内容发送回浏览器。是否有逻辑要做,然后将该请求发送到应用程序服务器。处理完逻辑后,将响应发送到web服务器并发送到客户端。

Web服务器和应用程序服务器之间的主要区别在于,Web服务器旨在为静态页面(如HTML和CSS)提供服务,而应用程序服务器负责通过执行服务器端代码(如JSP、Servlet或EJB)生成动态内容。

我应该使用哪一个?一旦您了解了web和应用程序服务器以及web容器之间的区别,就很容易确定何时使用它们。如果要提供静态网页,则需要像ApacheHTTPD这样的web服务器。如果您的Java应用程序只有JSP和Servlet来生成动态内容,那么您需要像Tomcat或Jetty这样的web容器。然而,如果您有使用EJB、分布式事务、消息传递和其他奇特功能的JavaEE应用程序,那么您需要一个成熟的应用程序服务器,如JBoss、WebSphere或Oracle的WebLogic。

Web容器是Web服务器的一部分,Web服务器是Application Server的一部分。

Web服务器由Web容器组成,而Application Server由Web容器和EJB容器组成。

这两个术语都非常通用,一个包含另一个,在某些情况下反之亦然。

Web服务器:使用http协议向Web提供内容。应用程序服务器:托管并公开业务逻辑和流程。

我认为主要的一点是web服务器通过http协议公开所有内容,而应用程序服务器不限于此。

也就是说,在许多情况下,您会发现web服务器被用于创建应用程序服务器的前端,即它公开了一组网页,允许用户与应用程序服务器中的业务规则进行交互。