RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1344625
Accepted
Eva
Eva
Asked:2022-04-02 02:03:08 +0000 UTC2022-04-02 02:03:08 +0000 UTC 2022-04-02 02:03:08 +0000 UTC

什么是应用服务器?

  • 772

从我在 Internet 上阅读的所有内容中,我设法了解有两种类型的服务器:静态和动态。静态服务器包括支持 HTTP 和 URL 的“硬件服务器”和“软件服务器”。动态服务器包含包含静态 + 应用程序服务器和数据库的所有内容。所有信息都来自这里。

也就是说,实际上,由于应用程序服务器的操作,动态服务器被称为动态服务器,它可以动态更改通过 HTTP 传输的文件。

我有个问题。事实证明,应用程序服务器是某种允许您处理文件的代码。但从这句话来看,这并不完全正确(代码不太可能包含 Web 服务器):

资源

应用程序服务器可以包含 Web 服务器,这就是为什么它被认为比 Web 服务器更强大的原因。

在这里,我很可能不了解这个应用程序服务器的结构或结构。为什么以及如何包含此 Web 服务器?

另外,这句话不清楚:

应用程序服务器充当一组组件,通过平台本身定义的 API(应用程序编程接口)可供软件开发人员使用。

事实证明,如果 API 支持 2 个程序的交互,那么在这种情况下,API 可以支持应用服务器与任何其他程序的交互。API 是否始终支持与应用程序服务器一起使用,API 是否仅与应用程序服务器一起使用?

сервер
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Best Answer
    S.H.
    2022-04-02T02:57:10Z2022-04-02T02:57:10Z

    我将冒险回答这个问题,尽管这很可能不是一个完整和完整的答案。

    在我看来,您的误解来自大量的术语及其“历史分层”

    1. 您所说的“静态和动态服务器”,我认为通常称为“静态内容”和“动态内容”。

    2. 文中所谓的应用服务器应该简单地理解为“没有枪口的网络服务器”,不管它听起来多么粗鲁。这是一个通过 HTTP 接受请求并通过 HTTP 响应的程序。这通常称为 REST - 协议(Representational state transfer)

    “应用程序服务器”的另一个常用术语是“Web 服务”。

    API 是否始终支持与应用程序服务器一起工作?

    “应用服务器”一词本身就是一种历史外壳。

    让我解释一下我的想法。在 WEB 诞生的阶段,编写带有超链接的文件并将其发送到马赛克等原始浏览器的能力对于每个人来说通常已经足够了。

    但我想要“动态”,例如页面上访问者数量的计数器。为此,使用了CGI(通用网关接口)。

    实际上,这意味着响应来自浏览器的请求,将在服务器上执行一个程序,并将其执行结果显示在浏览器中。

    为了“卖得好”这个功能(而且 Web 服务器不仅是免费开源的,而且有时收费很高,比如Microsoft IIS和IBM WebSphere ),创造了营销术语“应用程序服务器” 。

    这意味着,响应用户请求,执行一些可以响应该请求的代码的能力不多也不少。这就是服务器的不同之处,它只能“愚蠢地托管文件”

    此外——通过 API,人们可能应该理解“根据预先商定的协议进行交互”,但对于 HTTP 服务器,在 99% 的情况下,这应该被理解为 REST API。

    这是什么?

    我会用一个例子来解释。让我有一个包含有价值信息的数据库。

    我可以制作一个 Web 服务器,在其页面上显示有关用户请求的这些信息。

    而且我可以为我的数据库提供一个接口,互联网上的许多服务器将开始在他们的页面上显示这些信息,并转向我来获取信息本身。通过 API。同时,我可能根本没有“具有供访问者查看的页面的网络服务器”。

    我希望我能够 - 在这个简短的回答中 - 帮助您理解这些术语。但是,如果您有明确的问题 - 写!

    添加

    我重新阅读了您的问题,并决定在这部分的答案中添加一些内容:

    应用程序服务器可以包含 Web 服务器,因此它被认为比 Web 服务器更强大。

    在这里,我很可能不了解这个应用程序服务器的结构或结构。为什么以及如何包含此 Web 服务器?

    我会尽量用“手指上”来说明是什么意思。为此,让我们看一下所有这些服务器的总体结构。

    1. 有一个实现 HTTP 协议的程序。它只知道如何接收 HTTP 请求,并且它有一个尝试响应该请求的模块。

    2. 通常,这个程序只是简单地“附加”到WEB服务器的文件系统上,“响应模块”按照以下算法工作:匹配请求。响应请求,如果不匹配 - 显示第 404 个错误的页面”。这就是所谓的“静态内容”或“静态服务器”(好像这个词没有让我抽搐)

    3. 什么是“动态服务器”?这是在为请求提供服务的程序中的“响应模块”被教授另一个技巧的时候:“......但是如果某个类型的请求出现在您面前,那么不要将文件提供给用户,而是执行该程序并给用户它的执行结果。”

    正是在这个意义上“应用程序服务器可以包含 Web 服务器”——它们的意思是,为了接收请求并发送响应,您需要一个使用 HTTP 协议的模块,他们称之为“Web 服务器”。从这个意义上说,“动态服务器”将在其组成中包含“网络服务器”。

    • 4
  2. edem
    2022-04-02T03:22:39Z2022-04-02T03:22:39Z

    什么/谁是“服务器”?

    英语:serve - 服务;+er --> server - 服务的人。

    简单来说,“服务器”是服务(执行)请求的东西。表演者。

    执行者(服务器)是应用程序。但是,同样的“词”也指运行此应用程序的硬件。是的,多个应用程序(服务器)可以在同一硬件(服务器)上运行。

    祖父一次没有从“IT”翻译,现在这些是问题。

    进一步了解祖父的遗产。

    “静,静”

    英语(adj):静态——一动不动。

    “动态、动态等发电机——”

    英语(adj):动态——表演、工作、活着。

    “网络”

    英语:web - web,网络。

    我们将所有东西都连接到堆上。

    Web服务器是一个执行器,它处理根据一定的规则(协议)(英文:protocol)创建的网络请求:TCP/IP、HTTP等。

    Application- Server——运行应用程序的执行器。

    静态服务器- 一个执行器,它也是一个Web 服务器,它的任务是发布它已经拥有的某些数据。那些。引用它时,它不会创建任何新内容。例如,他有一组图像,所以在访问它时,他只会发出这些图像。

    动态服务器是一个执行器,可能是也可能不是网络服务器,但无论如何都是应用程序服务器。如果你可以通过网络与它通信,那么这就是一个网络服务器,如果它的任务,例如,只是计算素数,那么不需要网络。

    好吧,关于应用程序执行程序API的几句话。

    例如,让我们以自运营商(英语:auto- (self-); mobile (mobile))为例。它有一个变速杆。所以这个杠杆的有效位置是API,即 换档的方法,由自载体的开发人员提供,以满足这些需求。

    在视觉上,齿轮位置可以描述如下:

    • 第一个:/左/上
    • 第二:/左/下
    • ..
    • 第五名:/右/上
    • 后退:/右/下

    对于应用程序执行者来说,一切都是一样的。访问时有一组位置(位置)(如果需要,还有附加数据),这个或那个动作将由这个应用程序执行。例如:

    创建注释:/createArticle、/create-article、/createNote、/note-create(名称的选择完全取决于应用程序开发人员)。

    • 3

相关问题

  • 在服务器端配置 CORS 应该遵循哪些原则?

  • X8DT3 主板服务器要添加什么 RAM?

  • 带有私钥和 Go 的外部 grpc 服务器

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    表格填充不起作用

    • 2 个回答
  • Marko Smith

    提示 50/50,有两个,其中一个是正确的

    • 1 个回答
  • Marko Smith

    在 PyQt5 中停止进程

    • 1 个回答
  • Marko Smith

    我的脚本不工作

    • 1 个回答
  • Marko Smith

    在文本文件中写入和读取列表

    • 2 个回答
  • Marko Smith

    如何像屏幕截图中那样并排排列这些块?

    • 1 个回答
  • Marko Smith

    确定文本文件中每一行的字符数

    • 2 个回答
  • Marko Smith

    将接口对象传递给 JAVA 构造函数

    • 1 个回答
  • Marko Smith

    正确更新数据库中的数据

    • 1 个回答
  • Marko Smith

    Python解析不是css

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5