机架服务器和刀片服务器区别:应用服务器和Web服务器有什么区别

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

697

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

以下是 Web 服务器和应用程序服务器功能的一些主要区别:

Web Server 旨在提供 HTTP 内容。App Server 也可以提供 HTTP 内容,但不仅限于 HTTP。可以提供其他协议支持,例如 RMI / RPC

Web 服务器主要设计用于提供静态内容,尽管大多数 Web 服务器都有插件来支持脚本语言,如 Perl,PHP,ASP,JSP 等,这些服务器可以通过这些插件生成动态 HTTP 内容。

大多数应用程序服务器都将 Web Server 作为其组成部分,这意味着 App Server 可以执行 Web Server 所能执行的任何操作。此外,App Server 还具有支持应用程序级服务的组件和功能,例如连接池,对象池,事务支持,消息传递服务等。

由于 Web 服务器非常适合静态内容和用于动态内容的应用程序服务器,因此大多数生产环境都将 Web 服务器用作应用程序服务器的反向代理。这意味着在为页面请求提供服务时,静态内容(例如图像 / 静态 HTML)由解释请求的 Web 服务器提供。使用某种过滤技术(主要是所请求资源的扩展),Web 服务器可以识别动态内容请求并透明地转发到应用程序服务器

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

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

183

这是一些场景的详细答案,以清楚地了解差异和相似性,以及两者如何协同工作。

应用服务器是有时与web 服务器混合的术语。虽然 web 服务器主要处理HTTP 协议,但是应用服务器处理若干不同的协议,包括但不限于 HTTP。

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

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

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

enter image description here

An example:

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

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

您有一个只有 Web 服务器而没有应用程序服务器的在线商店。该站点将提供一个显示,您可以从中选择产品。当您提交查询时,该站点将执行查找并将 HTML 结果返回给其客户端。Web 服务器将您的查询直接发送到数据库服务器 (请耐心等待,我将在我们的下一个 nugget 数据库中解释这一点),并等待响应。一旦收到,Web 服务器就会将响应编制成一个 HTML 文件,并在

场景二:带应用服务器的 Web 服务器

如果您要运行的查询以前已经完成,并且此后没有任何数据更改,则服务器将生成结果,而无需将请求发送到数据库服务器。这允许实时查询,其中第二个客户端可以访问相同的信息并接收实时,可靠的信息,而无需将另一个重复的查询发送到数据库服务器。服务器基本上充当数据库服务器和 Web 服务器之间的中介,这使得在第二种情况下提取的信息不可重用,因为“

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

150

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

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

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

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

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

86
Web server

运行pytn -m 'SimpleHTTPServer'并转到http://localst:8080。您看到的是正在运行的 Web 服务器。该服务器仅通过存储在计算机上的 HTTP 提供文件。关键点是所有这些都是在 HTTP 协议之上完成的。例如,也存在 FTP 服务器,它们执行完全相同的操作(服务存储的文件),但基于不同的协议。

应用程序服务器

假设我们有一个像下面这样的小应用程序(来自Flask的片段)。

@app.route('/')
def mepage():
    return '<html>My mepage</html>'
@app.route('/about')
def about():
    return '<html>My name is John</html>'

小示例程序将 URL/映射到函数mepage(),将/about映射到函数about()

要运行此代码,我们需要一个应用程序服务器(例如 Gunicorn)-一个程序或模块,可以来自客户端的请求并使用我们的代码,动态返回一些东西。

其他人谈论的业务逻辑是什么?好吧,由于 URL 映射到我们代码库中的某个特定位置,因此我们假设显示了有关程序工作原理的一些逻辑。

Recapping

Web 服务器-提供存储在某处的文件(最常见的是.css,.html,.js)。常见的 Web 服务器是 Apache,Nginx 甚至 Pytn 的 SimpleHTTPServer。

应用程序服务器-提供即时生成的文件。基本上大多数 Web 服务器都有某种插件,甚至带有内置功能。也存在严格的应用程序服务器,如 Gunicorn(Pytn),Unicorn(Ruby),uWSGI(Pytn)等。

请注意,您实际上可以使用应用程序服务器的代码构建 Web 服务器。在开发过程中的某些情况下,您不希望在计算机上运行大量不同的服务器。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(774)
语言程序开发:使用汇编语言开发 Android应用程序
上一篇
Python语言程序设计基础题库:“let”变量在程序设计中的语言意义
下一篇

相关推荐

  • php语言是什么从零开始学习Web开发

    PHP(超文本预处理器)是一种通用开源脚本语言,主要用于服务器端的脚本编程。它可以嵌入到 HTML 中,也可以作为独立的 CGI 脚本来执行。…

    2023-08-19 04:41:19
    0 59 62
  • php5.4下载提升Web应用开发效率的新一代脚本语言

    PHP 4下载:前往官网:https://www.php.net/.php,选择“PHP 4”,点击“”按钮;…

    2023-10-04 05:34:04
    0 91 79
  • 如何学习web前端语言:为什么PHP被认为是最容易学习的Web编程语言

    关于如何学习web前端语言的问题,在easiest programming language to learn中经常遇到,人们普遍认为,PHP 是初学者最容易学习的编程语言。争论认为 PHP 是用于快速启动和运行原型的最简单的语言。…

    2024-04-25 15:53:01
    0 86 83
  • 用高级语言编写的程序:Web应用程序是用什么语言编写的

    关于用高级语言编写的程序的问题,在apps made with javascript中经常遇到,我已经自学了 HTML 和 CSS,并且正在使用 Javascript。我看到很多关于 Web 应用程序的文章(猜测它们是您在 Chrome 商店中获得的东西的类型等),但是我找不到关于它们使用哪种语言编写的明确指南。我知道扩展是用 javascript 编写的,但是 Web 应用程序呢?…

    2024-04-08 07:30:26
    0 32 85
  • 各种账务处理程序的共同之处:BitTorrent和WebTorrent有多少共同之处

    关于各种账务处理程序的共同之处的问题,在webtor中经常遇到,我最近听说过 WebTorrent,并决定尝试使用其中一个音频播放器 javascript 演示,以查看是否可以使其播放 BitTorrent 网络中的随机 MP3。它不起作用,我联系了作者,发现它们是“two separate networks”。这让我想知道-这两个网络有多少共同点?…

    2024-09-04 14:48:09
    0 68 99
  • Ff gg:Top.ggWebhookURL

    关于Ff gg的问题,在discord what's a webhook中经常遇到,关于Top.ggWebhookURL的编程代码示例如下。…

    2024-02-26 01:08:23
    0 52 87
  • Web页面是由什么语言编写的:Web应用程序是用什么语言编写的

    关于Web页面是由什么语言编写的的问题,在apps made with javascript中经常遇到,我已经自学了 HTML 和 CSS,并且正在使用 Javascript。我看到很多关于 Web 应用程序的文章(猜测它们是您在 Chrome 商店中获得的东西的类型等),但是我找不到关于它们使用哪种语言编写的明确指南。我知道扩展是用 javascript 编写的,但是 Web 应用程序呢?…

    2024-09-07 05:24:49
    0 33 72
  • Go语言开发web:用于 Web开发的脚本语言与编译语言

    关于Go语言开发web的问题,在web dev languages中经常遇到,虽然我来自编程的 Web 开发方面的纯 PHP 背景,但我也花了很多时间在桌面上使用 C # 和 C ++。…

    2024-04-25 08:27:26
    0 76 76

发表评论

登录 后才能评论

评论列表(48条)