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

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


大多数时候,这些术语Web服务器和应用程序服务器可以互换使用。

以下是Web Server和Application Server的一些主要功能差异:

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

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


    这两个术语都非常通用,一个包含另一个,反之亦然。

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

  • 应用程序服务器 :主持并公开业务逻辑和流程。

  • 我认为重点是Web服务器通过http协议公开所有内容,而应用服务器不限于此。

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


    这是一些详细的答案,用以清楚地理解差异,相似性以及两者如何协同工作和全部工作

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

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

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

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

    在这里输入图像描述

    一个例子:

    了解应用程序服务器与Web服务器一起工作的场景与没有应用程序服务器的场景之间的区别的最好方法是通过在线商店。

    情况1:没有应用程序服务器的Web服务器

    你有一个只有一个网络服务器和没有应用程序服务器的在线商店。 该网站将提供一个展示位置,您可以从中选择产品。 当您提交查询时,网站会执行查找并将HTML结果返回给其客户端。 Web服务器将您的查询直接发送到数据库服务器(耐心等待,我将在下一个块中解释这个问题)并等待响应。 一旦收到,Web服务器就会将响应制定为HTML文件并将其发送到您的Web浏览器。 每次运行查询时,都会在服务器和数据库服务器之间来回交流。

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

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

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

    希望这可以帮助。

    链接地址: http://www.djcxy.com/p/17327.html

    上一篇: What is the difference between application server and web server?

    下一篇: Getting git to work with a proxy server