协慌网

登录 贡献 社区

应用程序服务器和 Web 服务器之间有什么区别?

应用程序服务器和 Web 服务器之间有什么区别?

答案

在大多数情况下,这些术语 Web 服务器和应用程序服务器可互换使用。

以下是 Web Server 和 Application Server 功能的一些主要区别:

  • Web 服务器旨在提供 HTTP 内容。 App Server 也可以提供 HTTP 内容,但不仅限于 HTTP。可以提供其他协议支持,例如 RMI / RPC
  • 虽然大多数 Web 服务器都具有支持脚本语言(如 Perl,PHP,ASP,JSP 等)的插件,但这些服务器可以通过这些插件生成动态 HTTP 内容,因此 Web Server 大多设计为可提供静态内容。
  • 大多数应用程序服务器将 Web 服务器作为其中不可分割的一部分,这意味着 App Server 可以执行 Web Server 能够执行的任何工作。此外,App Server 具有支持应用程序级服务的组件和功能,例如连接池,对象池,事务支持,消息服务等。
  • 由于 Web 服务器非常适合静态内容,而应用程序服务器非常适合动态内容,因此大多数生产环境都将 Web 服务器用作应用程序服务器的反向代理。这意味着在服务页面请求时,由解释请求的 Web 服务器提供静态内容(例如图像 / 静态 HTML)。 Web 服务器使用某种过滤技术(主要是请求资源的扩展)识别动态内容请求并透明地转发到应用服务器

这种配置的示例是 Apache Tomcat HTTP Server 和 Oracle(以前称为 BEA)WebLogic Server。 Apache Tomcat HTTP Server 是 Web 服务器,Oracle WebLogic 是应用程序服务器。

在某些情况下,服务器是紧密集成的,例如 IIS 和. NET Runtime。 IIS 是 Web 服务器。当配备. NET 运行时环境时,IIS 能够提供应用程序服务。

这是对某些情况的详细解答,目的是清楚地了解它们之间的差异,相似性以及两者如何共同工作

Application Server是一个有时与Web 服务器混合使用的术语。 Web 服务器主要处理HTTP 协议 ,而应用程序服务器则处理几种不同的协议,包括但不限于 HTTP

Web 服务器的主要工作是显示站点内容 ,而应用服务器负责逻辑 ,用户与显示内容之间的交互。应用程序服务器与 Web 服务器协同工作 ,其中一个显示,另一个与之交互。

在服务器与其客户端之间来回传递的信息不仅限于简单的显示标记,还包括两者之间的交互。

在大多数情况下,服务器通过组件 API (例如J2EE (Java 2 平台)EJB (Enterprise JavaBean)和其他不同的应用程序软件模型创建此交互

在此处输入图片说明

一个例子:

了解应用程序服务器与 Web 服务器一起使用的方案与没有应用程序服务器的方案之间的区别的最佳方法是通过在线商店。

方案 1:没有应用程序服务器的 Web 服务器

您有一个仅具有 Web 服务器而没有应用程序服务器的在线商店。该站点将提供一个显示,供您选择产品。提交查询时,站点将执行查找并将 HTML 结果返回给其客户端。 Web 服务器将您的查询直接发送到数据库服务器(请耐心等待,我将在我们的下一个讨论中解释这一点),然后等待响应。收到后,Web 服务器将响应公式化为 HTML 文件并将其发送到 Web 浏览器。每次运行查询时,服务器和数据库服务器之间就会发生这种来回通信。

方案 2:Web 服务器与应用程序服务器

如果您要运行的查询以前已经完成,并且此后没有任何数据更改,则服务器将生成结果,而不必将请求发送到数据库服务器。这允许进行实时查询,其中第二个客户端可以访问相同的信息并接收实时,可靠的信息,而无需向数据库服务器发送另一个重复的查询。服务器基本上充当数据库服务器和 Web 服务器之间的中介。在第一种情况下,这允许拉出的信息可重用,因为此信息嵌入在特定的 “自定义” HTML 页面中,所以这不是可重用的过程。第二个客户端将不得不再次请求信息,并接收另一个 HTML 嵌入式页面,其中包含请求的信息 - 效率极低。更不用说这种类型的服务器非常灵活,因为它具有管理自己的资源(包括安全性,事务处理,消息传递和资源池)的能力。

为了支持各种各样的复杂任务,该服务器必须具有内置的冗余,强大的处理能力和大量的 RAM,以实时处理其提取的所有数据。

希望这可以帮助。

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

  • Web 服务器 :使用 http 协议将内容提供给 Web。

  • 应用服务器 :托管和公开业务逻辑和流程。

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

也就是说,在许多情况下,您会发现 Web 服务器被用于创建应用程序服务器的前端,也就是说,它公开了一组 Web 页面,这些页面使用户可以与在 Web 服务器中找到的业务规则进行交互。应用服务器。