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

26 浏览
0 Comments

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

应用服务器和Web服务器有什么区别?

admin 更改状态以发布 2023年5月21日
0
0 Comments

这是一个详细的答案,其中包含一些场景,以清楚地理解差异和相似之处,以及两者如何相互配合工作。

应用服务器是一个有时与Web服务器混淆的术语。虽然Web服务器主要处理HTTP协议,但应用服务器处理多种不同的协议,包括但不限于HTTP。

Web服务器的主要工作是显示网站内容,应用服务器负责逻辑、用户与显示内容之间的互动。应用服务器与Web服务器相互配合,一个显示,另一个互动。

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

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

enter image description here

一个例子:

理解应用服务器与Web服务器相互配合工作的场景与没有应用服务器的场景之间的差异的最佳方式是通过在线商店。

场景1:没有应用服务器的Web服务器

您有一个只有Web服务器没有应用服务器的在线商店。该站点提供一个展示页面,您可以从中选择产品。当您提交查询时,站点执行查找并将HTML结果返回到其客户端。Web服务器直接将您的查询发送到数据库服务器(请耐心等待,我将在下一个内容块中解释此内容),并等待响应。一旦收到响应,Web服务器会将响应制成HTML文件并将其发送到您的Web浏览器。每次运行查询时,服务器和数据库服务器之间的来回通信都会发生。

场景2:带有应用服务器的Web服务器

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

为了支持如此多种复杂任务,该服务器必须具备内置冗余、强大的处理能力和大量的RAM来处理它实时所提取的所有数据。

0
0 Comments

通常这些术语Web服务器和应用服务器被互换使用。

以下是Web服务器和应用服务器功能差异的一些关键因素:

  • Web服务器专为提供HTTP内容而设计。应用服务器也可以提供HTTP内容,但不仅限于HTTP。它可以提供其他协议的支持,如RMI/RPC。
  • 大多数Web服务器主要设计用于提供静态内容,尽管大多数Web服务器都有插件来支持Perl、PHP、ASP、JSP等脚本语言,通过这些服务器可以生成动态HTTP内容。
  • 大多数应用服务器都将Web服务器作为其中的重要组成部分,这意味着应用服务器可以做Web服务器所能做的一切。此外,应用服务器还具有支持连接池、对象池、事务支持、消息服务等应用级服务的组件和特性。
  • 由于Web服务器非常适合静态内容,应用服务器非常适合动态内容,因此大多数生产环境将Web服务器作为应用服务器的反向代理。这意味着在处理页面请求时,静态内容(如图像/静态HTML)由Web服务器处理请求。通过某种过滤技术(通常是请求资源的扩展名),Web服务器识别动态内容请求并透明地转发给应用服务器。

这样的配置示例是Apache Tomcat HTTP服务器和Oracle(曾用名BEA)WebLogic服务器。Apache Tomcat HTTP服务器是Web服务器,Oracle WebLogic是应用服务器。

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

0