【问题标题】:Difference between application server and web server?应用服务器和Web服务器的区别?
【发布时间】:2024-01-23 00:58:01
【问题描述】:

我可以知道应用程序服务器和 Web 服务器之间的区别吗?请列出每个示例。

【问题讨论】:

标签: webserver application-server


【解决方案1】:

网络服务器”通常是使用http(或https)协议提供内容的任何服务器程序。这些服务器倾向于侦听特定端口(80 或 443)。这些客户端通常是 Web 浏览器,例如 Chrome、Firefox 或 Internet Explorer。

Web 服务器示例:Apache、Microsoft IIS

'应用服务器'是一个更加模糊、定义不明确的术语。它可以指为给定应用程序的客户端请求提供响应的任何程序。

在网络服务的上下文中,“应用程序服务器”往往是指用于生成动态内容的更高级别的框架。这可能是某种容器,您可以在其中部署特定的“Web 应用程序”。示例包括 Apache Tomcat、WebSphere、JBoss 等。

在这两种情况下,该术语也可以指托管软件来执行这些操作的机器硬件。

【讨论】:

  • IIS 也是一个应用服务器,用于 ASP.NET。
【解决方案2】:

web 服务器是一个容器,用于像 servlet/jsp 容器这样的简单操作。 应用服务器是一个类似于 web 服务器的容器,但比 web 服务器添加了更多的操作,如事务管理器、数据源、集群、负载平衡、消息传递和其他复杂的业务操作。

像 Apache Tomcat 这样的网络服务器。

应用服务器,如 jboss、glassfish、web sphere、oracle 应用服务器。

【讨论】:

  • 我不同意。 Web 服务器只是应用服务器的一种特定形式。
  • 目的同意Web服务器是应用服务器的特殊版本。 web服务器是轻量级容器,应用程序服务器是重量级容器,因为包含许多服务和容器,如jsp/servler和ejb容器等服务。
  • @bassem:这并没有多大意义。首先,网络服务器不是“轻量级容器”。一些网络服务器比其他的更轻量级。例如,lighttpd 是一个最小的、占用空间小的、快速的网络服务器。 Apache 不能称为轻量级。其次 - 术语“应用程序服务器”非常通用。这意味着不同的事情取决于你问谁。
  • 应该是web server like apache
【解决方案3】:

Web 服务器有时可以充当应用程序服务器(例如,当它托管 Web 服务时)。但是,应用程序服务器不必实现为 Web 服务器。它可以只监听 tcp 套接字并采取相应的行动

【讨论】:

    【解决方案4】:

    网络服务器

    Web 服务器处理 HTTP 协议。当 Web 服务器接收到 HTTP 请求时,它会以 HTTP 响应进行响应,例如发回 HTML 页面。为了处理请求,Web 服务器可以使用静态 HTML 页面或图像进行响应,发送重定向,或将动态响应生成委托给某些其他程序,例如 CGI 脚本、JSP(JavaServer Pages)、servlet、ASP(Active Server Pages) )、服务器端 JavaScript 或其他一些服务器端技术。不管它们的目的是什么,这样的服务器端程序都会生成一个响应,通常是 HTML,以便在 Web 浏览器中查看。

    了解 Web 服务器的委托模型相当简单。当请求进入 Web 服务器时,Web 服务器只是将请求传递给最能处理它的程序。 Web 服务器不提供任何功能,只是提供一个环境,服务器端程序可以在该环境中执行并返回生成的响应。服务器端程序通常为自己提供事务处理、数据库连接和消息传递等功能。

    虽然 Web 服务器本身可能不支持事务或数据库连接池,但它可能会采用各种策略来实现容错和可伸缩性,例如负载平衡、缓存和集群——这些功能经常被错误地分配为仅为应用程序服务器保留的功能。

    应用服务器

    对于应用服务器,根据我们的定义,应用服务器通过各种协议(可能包括HTTP)将业务逻辑暴露给客户端应用程序。 Web 服务器主要处理发送 HTML 以在 Web 浏览器中显示,而应用程序服务器提供对业务逻辑的访问以供客户端应用程序使用。应用程序可以像调用对象(或过程世界中的函数)上的方法一样使用此逻辑。

    此类应用服务器客户端可以包括在 PC、Web 服务器甚至其他应用服务器上运行的 GUI(图形用户界面)。在应用服务器和它的客户端之间来回传输的信息不限于简单的显示标记。相反,信息是程序逻辑。由于逻辑采用数据和方法调用的形式,而不是静态 HTML,因此客户端可以根据需要使用公开的业务逻辑。

    在大多数情况下,服务器通过组件 API 公开此业务逻辑,例如 J2EE(Java 2 平台,企业版)应用服务器上的 EJB(企业 JavaBean)组件模型。此外,应用服务器管理自己的资源。这种把关职责包括安全、事务处理、资源池和消息传递。与 Web 服务器一样,应用服务器也可以采用各种可扩展性和容错技术。

    【讨论】:

    最近更新 更多