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


当前回答

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

其他回答

在Java术语中,还有一个:web容器(或者更严格地说,servlet容器)。例如,它位于web服务器和应用程序服务器之间。

Java术语中的web容器是一个应用服务器,它基本上只实现JavaEE的JSP/Servlet部分,并且缺少JavaEE的几个核心部分,例如EJB支持。Apache Tomcat就是一个例子。

国际海事组织,这主要是关于分离担忧。

从纯技术角度来看,您可以在单个web服务器中完成所有操作(web内容+业务逻辑)。如果您这样做,那么信息将嵌入请求的HTML内容中。会有什么影响?

例如,假设您有两个不同的应用程序,它们在浏览器上呈现完全不同的HTML内容。如果您将业务逻辑分离为应用服务器,那么您可以提供不同的web服务器,通过脚本在应用服务器中查找相同的数据。然而,如果您不将逻辑分离并将其保存在web服务器中,那么每当您更改业务模型时,您最终都会在您拥有的每一个web服务器中更改它,这将花费更多时间、可靠性降低且容易出错。

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

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

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

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

从…起https://en.wikipedia.org/wiki/Web_server

web服务器是通过HTTP处理请求的计算机系统,HTTP是用于在万维网上分发信息的基本网络协议。该术语可以指整个系统,或者具体指接受和监督HTTP请求的软件。

从…起https://en.wikipedia.org/wiki/Application_server#Application_Server_definition

应用程序服务器运行在web服务器(例如Apache或Microsoft Internet Information Services(IIS))后面,并且(几乎总是)运行在SQL数据库(例如PostgreSQL、MySQL或Oracle)前面。

Web应用程序是在应用程序服务器上运行的计算机代码,用应用程序服务器支持的语言编写,并调用应用程序服务器提供的运行库和组件。

从上面那些很棒的SO福音传道者的帖子中得出我的结论,我得出结论,两者都是驻留在实际金属服务器(物理服务器)上的软件。两者携手合作,为最终用户提供服务。然后,根据设置,我们可以选择调用它,这意味着如何描述它取决于实际使用的设置。如果它们都位于同一个裸机(物理服务器)上,我们称之为web和应用服务器。。。易于理解的如果在不同的机器上,显然,我们手中有两个不同的裸机(物理服务器)。然后,我们可以根据这些服务器的功能来标记它们:一个web服务器和另一个应用程序服务器。