关注和分享VPS主机优惠活动
www.vpsmr.com
腾讯云双11优惠活动

WEB服务器、应用服务器、HTTP服务器的区别

WEB服务器、应用服务器、HTTP服务器有什么区别?IIS、Apache、Tomcat、Weblogic、WebSphere这些问题终于让我困惑了。今天整理一下:

Web 服务器的基本功能是提供网络信息浏览服务。 只需要支持HTTP协议、HTML文档格式和URL。 它在客户端的网络浏览器中运行。 HTTP服务器和WEB服务器通常是等效的,因为Web服务器支持的主要协议是HTTP(作者尚未确认是否有任何Web服务器支持HTTP以外的协议)。 这是同样的事情。

我们先来说一下微软对应用服务器(简称应用服务器)的定义:“应用服务器被定义为”运行应用服务器的服务器的最底层”。 共享业务应用程序。 系统软件。” 正如文件服务器向大量用户提供文件一样,应用程序服务器允许多个用户同时使用一个应用程序(通常是客户编写的应用程序)。 “

[h ] 简单来说,Web 服务器提供(服务)页面供浏览器查看,而应用程序服务器提供客户端应用程序可以调用的方法。(方法)。更多准确地说,Web 服务器专门处理 HTTP 请求,而应用程序服务器则通过多种协议提供应用程序的业务逻辑。

以Java EE为例,Web服务器主要处理静态页面处理,并充当解释和执行servlet/JSP的servlet容器。 另一方面,应用程序服务器执行业务逻辑,主要是J2EE API(例如 EJB、JNDI 和 JMX API)还包括事务处理、数据库连接和其他功能。 因此,对于企业级应用程序来说,应用服务器提供的功能要比Web服务器强大得多。

根据这个定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都可以属于应用服务器。

Apache:Web服务器中,Apache是​​纯Web服务器,常与Tomcat配合使用。 虽然它对 HTML 页面具有强大的解释能力,但它无法解释嵌入在页面中的服务器端脚本代码(JSP/servlet)。

Tomcat:早期的 Tomcat 是内置于 Apache 中的 JSP/servlet 解释引擎。 Apache+Tomcat相当于IIS+ASP。 之后,Tomcat 不再是 Apache 的一部分,Tomcat 进程独立于 Apache 进程运行。 另外,Tomcat已经是一个独立的servlet和JSP容器,允许您将业务逻辑层代码与界面交互层代码分离。 因此,有人将Tomcat称为轻量级应用服务器。

IIS:微软早期的IIS是一个纯粹的Web服务器。 后来,它包含了 ASP 引擎,并且能够解释 VBScript 和 JScript 服务器端代码。 目前,它还可以充当应用程序服务器。 当然,它还不能与J2EE应用服务器相媲美,但无论从功能上还是从原理上来说,它都勉强可以称为应用服务器。 更准确地说,它是一个具有一些应用程序服务器功能的 Web 服务器。

总结:Apache是​​一个纯粹的Web服务器,但Tomcat和IIS具有解释和执行服务器端代码的能力,使得它们可以用作轻量级应用服务器或服务器。称呼。 功能齐全的网络服务器。 博客ic 和WebSphere 绝对是首选应用服务器,因为它们可以提供强大的J2EE 功能。 处于中间位置时,Tomcat 可以与纯 Web 服务器 Apache 一起使用,或者作为应用程序服务器的附件与应用程序服务器一起部署。

[ h] 1. Tomcat 和应用服务器

到目前为止,Tomcat 是一个 servlet/JSP API 执行器,也称为 servlet它已被视为容器。 然而,Tomcat 的作用还不止于此;它还提供了 JNDI 和 JMX API 实现机制。 尽管如此,Tomcat 仍然不是一个应用程序服务器,因为它不支持大多数 J2EE API。

非常有趣的是,许多应用程序服务器现在都使用 Tomcat 作为它们的 servlet 和 JSP API 容器。 Tomcat 允许开发人员只需添加一行确认即可将 Tomcat 合并到他们的应用程序中。 不幸的是,许多商业应用服务器不遵守此规则。

对于希望使用 servlet、JSP、JNDI 和 JMX 技术生成 Java Web 应用程序的开发人员来说,Tomcat 是绝佳的解决方案。 然而,如果您正在寻求对其他 J2EE API 的支持,那么寻找应用程序服务器或使用 Tomcat 作为应用程序服务器的附属物是一个很好的解决方案。 第三种选择是找到独立的 J2EE API 实现并将它们与 Tomcat 结合起来。 尽管集成存在相关问题,但这种方法是最有效的。 。

2. Tomcat 和 Web 服务器

Tomcat 提供了一个支持运行 servlet 和 JSP 的容器。 Servlet 和 JSP 可以根据实时需求生成动态 Web 内容。 对于网络服务器来说,Apache只支持静态网页,不支持动态网页。 Tomcat 可以提供动态和静态网页。 Tomcat 不像常规 Web 服务器那么快或功能丰富,但它已逐渐扩大对静态内容的支持。 大多数Web服务器都是用C等低级语言编写的,以利用相应平台的特性,因此用纯Java编写的Tomcat无法匹配它们的执行速度。

大型站点通常使用 Tomcat 和 Apache 的组合。 Apache 负责接受来自客户端的所有 HTTP 请求,并将 servlet 和 JSP 请求转发到 Tomcat。 处理它。 当 Tomcat 完成处理时,它将响应传递回 Apache,然后 Apache 将响应返回给客户端。

为了提高性能,可以将一个Apache连接到多个Tomcat以实现负载均衡。

WEB服务器和应用服务器的详细区别可以参考以下文章:

通俗地说,Web 服务器页面提供给浏览器进行显示,而应用程序服务器则提供客户端应用程序可以调用的方法。 更准确地说,Web 服务器专门处理 HTTP 请求,而应用程序服务器通过多种协议提供应用程序的业务逻辑。

我们来仔细看看:

Web Server(Web服务器)

[ h ] Web服务器可以解析(处理)HTTP协议。 当 Web 服务器收到 HTTP 请求时,它会返回 HTTP 响应。nbsp;(响应),例如发回HTML页面。 为了处理请求,Web 服务器可以使用静态页面或图像进行响应、重定向页面或将动态响应的生成委托给另一个程序(例如 CGI)。 脚本、JavaServer Pages (JSP) 脚本、servlet、Active Server Pages (ASP) 脚本、服务器端 JavaScript 或其他服务器端技术。 (译者注:脚本)无论其目的如何,这些服务器端程序通常都会生成浏览器可以查看的 HTML 响应。

你应该知道Web服务器委托模型非常简单。 当请求发送到Web服务器时,Web服务器只是将其传递给可以适当处理该请求的程序(译者注:服务器端脚本)。 Web 服务器只是提供一个环境,服务器端程序可以在其中运行,并且可以返回它们生成的响应,而不会超出其功能范围。 服务器端程序通常包括事务处理、数据库连接和消息传递等功能。

Web 服务器不支持事务处理或数据库连接池,但可以将它们配置为采用各种容错和可伸缩性策略。 (可扩展性),例如,负载平衡和缓存。 集群功能经常被误解为仅限于应用程序服务器。

应用服务器(Application Server)

根据我们的定义,应用服务器就是使用各种协议的服务器。 包含 HTTP 以向客户端应用程序公开业务逻辑。 Web 服务器主要处理将 HTML 发送到浏览器以供查看,而应用程序服务器提供对客户端应用程序使用的业务逻辑的访问。 应用程序使用此业务逻辑就像调用对象上的方法(或过程语言中的函数)一样。

应用服务器客户端(包括图形用户界面(GUI))可以运行在PC、Web服务器或其他应用服务器上。 应用程序服务器与其客户端之间交换的信息不仅仅是简单的显示标签。 相反,这些信息是程序逻辑。 由于此逻辑采用数据和方法调用的形式而不是静态 HTML,因此客户端可以自由使用此公开的业务逻辑。

在大多数情况下,应用程序服务器通过组件应用程序编程接口 (API) 公开业务逻辑(向客户端应用程序)。 例如,EJB(Enterprise JavaBean)组件模型基于: J2EE(Java 2 Platform,企业版)应用服务器。 此外,应用程序服务器还执行看门作业(g膳食管理职责包括安全、事务处理、资源池和消息传递。 与 Web 服务器一样,应用程序服务器也是使用各种可扩展性和容错技术来配置的。

示例

例如,想象一个提供实时定价(real-timepricing)的在线商店(网站)。请。 和可用性信息。 本网站可能会为您提供选择产品的表格。 当您提交查询时,网站会执行搜索并返回嵌入 HTML 页面的结果。 网站可以通过多种方式实现此功能。 描述无应用服务器的场景和有应用服务器的场景。 观察这两种场景之间的差异将帮助您了解应用程序服务器的功能。

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

在此场景中,Web 服务器自行提供在线商店功能。将要。 Web 服务器接收请求并将其发送到可以处理该请求的服务器端程序。 该程序从数据库或文本文件(平面文件;译者注:平面文件是指没有特殊格式的非二进制文件,例如属性或XML文件)中检索价格信息。 一旦找到信息,服务器端程序就会将结果信息格式化为 HTML,Web 服务器最终将信息发送到 Web 浏览器。

也就是说,我们服务器 b 通过响应 HTML 页面来简单地处理 HTTP 请求。

场景 2:Web 服务器和应用服务器

场景 2 与场景 1 相同,但 Web 服务器仍然无响应(但是,通过此更改,脚本只是调用应用程序服务器的搜索服务(译者注:服务器端程序)。如果您已经知道如何搜索数据并创建响应,则可以使用该服务的返回结果。当脚本生成 HTML 响应(response)时。
在这种情况下,应用程序服务器提供查询产品定价信息的业务逻辑。(服务器的)功能不指定有关客户端和应用程序如何查看的详细信息。并使用该信息;当客户端调用应用程序服务器的搜索服务并将结果返回给客户端时,服务器只需发送和接收数据。

通过将代码与 HTML 分开。生成响应的定价(搜​​索)逻辑在应用程序中更具可重用性,其他客户端(例如收银员)也可以调用相同的服务并充当职员来结帐客户。相比之下,场景 1 中的价格查找服务。

换句话说,在场景 2 模型中,Web 服务器通过响应 HTML 页面来处理 HTTP 请求,而应用程序则通过响应 HTML 页面来处理 HTTP 请求。服务器通过处理定价和可用性请求来提供应用程序逻辑。

注意

XML Web 服务目前模糊了应用程序服务器和 Web 服务器之间的界限。 通过将 XML 有效负载发送到服务器,Web 服务器可以像以前的应用程序服务器一样处理数据并做出响应。

此外,大多数应用程序服务器现在还包含 Web 服务器。 这意味着 Web 服务器可以被视为应用程序服务器的子集。 尽管应用程序服务器包含Web服务器功能,但开发人员很少部署具有此功能的应用程序服务器。 网络服务器功能)。 相反,您通常独立配置 Web 服务器,也可以选择与应用程序服务器一起配置。 这种功能分离提供了改进的性能(不影响应用程序服务器的简单 Web 请求)、单独的配置(专用 Web 服务器、集群等),并允许您选择最适合您的产品。

WEB服务器、应用程序服务器和HTTP服务器有什么区别?IIS、Apache、Tomcat、Weblogic和WebSphere这些都属于什么类型的服务器?这个问题困扰了我很久,今天终于可以解答了。

网络服务器的基本功能是提供网络信息浏览服务。 只需要支持HTTP协议、HTML文档格式和URL。 它在客户端的网络浏览器中运行。 Web服务器支持的主要协议是HTTP,因此HTTP服务器和WEB服务器通常是等效的(它们支持HTTP以外的协议吗?)。协议Web服务器(作者没有验证过),是一样的东西。

我们先来说一下微软对应用服务器(简称应用服务器)的定义:“应用服务器被定义为”运行应用服务器的服务器的最底层”。 共享业务应用程序。 系统软件。” 正如文件服务器向大量用户提供文件一样,应用程序服务器允许多个用户同时使用一个应用程序(通常是客户编写的应用程序)。 “

[h ] 简单来说,Web 服务器提供(服务)页面供浏览器查看,而应用程序服务器提供客户端应用程序可以调用的方法。(方法)。更多准确地说,Web 服务器专门处理 HTTP 请求,而应用程序服务器则通过多种协议提供应用程序的业务逻辑。

以Java EE为例,Web服务器主要处理静态页面处理,并充当解释和执行servlet/JSP的servlet容器。 另一方面,应用程序服务器执行业务逻辑。 J2EE API(主要是 EJB、JNDI 和 JMX API)还包括事务处理、数据库连接和其他功能。 因此,对于企业级应用程序来说,应用服务器提供的功能要比Web服务器强大得多。

根据这个定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都可以属于应用服务器。

Apache:Web服务器中,Apache是​​纯Web服务器,常与Tomcat配合使用。 虽然它对 HTML 页面具有强大的解释能力,但它无法解释嵌入在页面中的服务器端脚本代码(JSP/servlet)。

>

Tomcat:早期的 Tomcat 是内置于 Apache 中的 JSP/servlet 解释引擎。 Apache+Tomcat相当于IIS+ASP。 之后,Tomcat 不再是 Apache 的一部分,Tomcat 进程独立于 Apache 进程运行。 另外,Tomcat已经是一个独立的servlet和JSP容器,允许您将业务逻辑层代码与界面交互层代码分离。 因此,有人将Tomcat称为轻量级应用服务器。

IIS:微软早期的IIS是一个纯粹的Web服务器。 后来,它包含了 ASP 引擎,并且能够解释 VBScript 和 JScript 服务器端代码。 目前,它还可以充当应用程序服务器。 当然,它还不能与J2EE应用服务器相媲美,但无论从功能上还是从原理上来说,它都勉强可以称为应用服务器。 更准确地说,它是一个具有一些应用程序服务器功能的 Web 服务器。

总结:Apache是​​一个纯粹的Web服务器,但Tomcat和IIS具有解释和执行服务器端代码的能力,使得它们可以用作轻量级应用服务器或服务器。称呼。 功能齐全的网络服务器。 Weblogic 和WebSphere 绝对是首选应用程序服务器,因为它们可以提供强大的J2EE 功能。 处于中间位置时,Tomcat 可以与纯 Web 服务器 Apache 一起使用,或者作为应用程序服务器的附件与应用程序服务器一起部署。

[ h] 1. Tomcat 和应用服务器

到目前为止,Tomcat 是一个 servlet/JSP API 执行器,也称为 servlet它已被视为容器。 然而,Tomcat 的作用还不止于此;它还提供了 JNDI 和 JMX API 实现机制。 尽管如此,Tomcat 仍然不是一个应用程序服务器,因为它不支持大多数 J2EE API。。

非常有趣的是,许多应用程序服务器现在都使用 Tomcat 作为它们的 servlet 和 JSP API 容器。 Tomcat 允许开发人员只需添加一行确认即可将 Tomcat 合并到他们的应用程序中。 不幸的是,许多商业应用服务器不遵守此规则。

对于希望使用 servlet、JSP、JNDI 和 JMX 技术生成 Java Web 应用程序的开发人员来说,Tomcat 是绝佳的解决方案。 然而,如果您正在寻求对其他 J2EE API 的支持,那么寻找应用程序服务器或使用 Tomcat 作为应用程序服务器的附属物是一个很好的解决方案。 第三种选择是找到独立的 J2EE API 实现并将它们与 Tomcat 结合起来。 尽管集成存在相关问题,但这种方法是最有效的。 。

2. Tomcat 和 Web 服务器

Tomcat 提供了一个支持运行 servlet 和 JSP 的容器。 Servlet 和 JSP 可以根据实时需求生成动态 Web 内容。 对于Web服务器来说,Apache只支持静态网页,不支持动态网页。 Tomcat 可以提供动态和静态网页。 Tomcat 不像常规 Web 服务器那么快或功能丰富,但它已逐渐扩大对静态内容的支持。 大多数Web服务器都是用C等低级语言编写的,以利用相应平台的特性,因此用纯Java编写的Tomcat无法匹配它们的执行速度。

大型站点通常使用 Tomcat 和 Apache 的组合。 Apache 负责接受来自客户端的所有 HTTP 请求,并将 servlet 和 JSP 请求转发到 Tomcat。 处理它。 当 Tomcat 完成处理时,它会将响应返回给 Apache。最后,Apache 将响应返回给客户端。

为了提高性能,可以将一个Apache连接到多个Tomcat以实现负载均衡。

WEB服务器和应用服务器的详细区别可以参考以下文章:

通俗地说,Web 服务器页面提供给浏览器进行显示,而应用程序服务器则提供客户端应用程序可以调用的方法。 更准确地说,Web 服务器专门处理 HTTP 请求,而应用程序服务器通过多种协议提供应用程序的业务逻辑。

我们来仔细看看:

Web Server(Web服务器)

[ h ] Web服务器可以解析(处理)HTTP协议。 当 Web 服务器收到 HTTP 请求时,它会返回 HTTP 响应,例如发回 HTML 页面。 为了处理请求,Web 服务器可以使用静态页面或图像进行响应、重定向页面或将动态响应的生成委托给另一个程序(例如 CGI)。 脚本、JavaServer Pages (JSP) 脚本、servlet、Active Server Pages (ASP) 脚本、服务器端 JavaScript 或其他服务器端技术。 (译者注:脚本)无论目的是什么,这些都是服务器端程序通常会生成 HTML 响应以供浏览器显示。

你应该知道Web服务器委托模型非常简单。 当请求发送到Web服务器时,Web服务器只是将其传递给可以适当处理该请求的程序(译者注:服务器端脚本)。 Web 服务器只是提供一个环境,服务器端程序可以在其中运行,并且可以返回它们生成的响应,而不会超出其功能范围。 服务器端程序通常包括事务处理、数据库连接和消息传递等功能。

Web 服务器不支持事务处理或数据库连接池,但可以将它们配置为采用各种容错和可伸缩性策略。 (可扩展性)、负载均衡(负载分配)、缓冲(缓存)等。 集群功能经常被误解为仅限于应用程序服务器。

应用服务器(Application Server)

根据我们的定义,应用服务器就是使用各种协议的服务器。 包含 HTTP 以向客户端应用程序公开业务逻辑。 Web 服务器主要处理将 HTML 发送到浏览器以供查看,而应用程序服务器提供对客户端应用程序使用的业务逻辑的访问。 应用程序使用此业务逻辑就像由用户调用一样。它就像一个方法(或过程语言中的函数)。

应用服务器客户端(包括图形用户界面(GUI))可以运行在PC、Web服务器或其他应用服务器上。 应用程序服务器与其客户端之间交换的信息不仅仅是简单的显示标签。 相反,这些信息是程序逻辑。 由于此逻辑采用数据和方法调用的形式而不是静态 HTML,因此客户端可以自由使用此公开的业务逻辑。

在大多数情况下,应用程序服务器通过组件应用程序编程接口 (API) 公开业务逻辑(向客户端应用程序)。 例如,EJB(Enterprise JavaBean)组件模型基于: J2EE(Java 2 Platform,企业版)应用服务器。 此外,应用程序服务器可以管理自己的资源,例如安全性、事务处理、资源池和门管理职责(例如消息传递)。 与 Web 服务器一样,应用程序服务器也是使用各种可扩展性和容错技术来配置的。

示例

例如,想象一个提供实时定价(real-timepricing)的在线商店(网站)。请。 和可用性信息。 该网站可能提供:您可以从表格中选择产品。 当您提交查询时,网站会执行搜索并返回嵌入 HTML 页面的结果。 网站可以通过多种方式实现此功能。 描述无应用服务器的场景和有应用服务器的场景。 观察这两种场景之间的差异将帮助您了解应用程序服务器的功能。

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

在此场景中,Web 服务器自行提供在线商店功能。将要。 Web 服务器接收请求并将其发送到可以处理该请求的服务器端程序。 该程序从数据库或文本文件(平面文件;译者注:平面文件是指没有特殊格式的非二进制文件,例如属性或XML文件)中检索价格信息。 一旦找到信息,服务器端程序就会将结果信息格式化为 HTML,Web 服务器最终将信息发送到 Web 浏览器。

换句话说,Web 服务器只是处理 HTTP 请求以响应 HTML 页面。

场景 2:Web 服务器和应用服务器

场景 2 与场景 1 相同,但 Web 服务器仍然无响应(但是,通过这个更改,这个脚本只是调用应用程序服务器的搜索服务(译者注:服务器端程序)。它已经知道如何搜索数据,并使用配方)响应。 此时,在脚本生成HTML响应时就可以使用服务的返回结果了。

在该场景中,应用服务器提供查询产品定价信息的业务逻辑。 此功能(在服务器上)不指定显示详细信息以及客户端如何使用此信息。 相反,客户端和应用程序服务器只是发送和接收数据。 当客户端调用应用程序服务器的搜索服务时,该服务只是进行搜索并将结果返回给客户端。

通过将代码与生成响应的 HTML 分离,定价(搜索)逻辑在应用程序中变得更加可重用。 其他客户,例如收银员,也可以调用相同的服务来充当职员为顾客结账。 相反,场景 1 中的价格查询服务无法重用,因为信息嵌入在 HTML 页面中。

总而言之,在场景 2 模型中,Web 服务器处理响应 HTML 页面的 HTTP 请求,应用程序服务器处理定价和可用性(提供应用程序可用性请求)。 )。

注意

目前,XML Web 服务允许 XML 有效负载模糊应用程序服务器和 Web 服务器之间的界限。

此外,现在大多数应用服务器还包含Web服务器。 尽管服务器可以被视为应用程序服务器的子集,尽管服务器包含Web服务器的功能,但开发人员很少部署具有此功能的应用程序服务器)。 相反,您通常独立配置 Web 服务器,也可以选择与应用程序服务器一起配置。 这种功能分离提供了改进的性能(不影响应用程序服务器的简单 Web 请求)、单独的配置(专用 Web 服务器、集群等),并允许您选择最适合您的产品。

原文地址:https://blog.51cto.com/u_15127548/4593280

未经允许不得转载:国外VPS主机测评 » WEB服务器、应用服务器、HTTP服务器的区别
任何商家都有倒闭和跑路可能,本站仅分享优惠活动及信息,购买前请自行斟酌,衡量评估风险,自负责任。数据勤备份是最佳选择!友情提示

评论 抢沙发

评论前必须登录!