RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1385833
Accepted
Боков Глеб
Боков Глеб
Asked:2022-07-26 12:22:32 +0000 UTC2022-07-26 12:22:32 +0000 UTC 2022-07-26 12:22:32 +0000 UTC

处理 HTTP 请求的 Web 应用程序架构元素的名称是什么?

  • 772

“服务器!” - 我想回答这个看似愚蠢的问题。但如果真的这么简单,我就不会在我从事 Web 开发的第七年问他了。

尽管有条件地将 Web 应用程序分为客户端和服务器部分很流行,但现代 Web 应用程序的架构并不是那么二元的:

  • 数据库可以在单独的服务器上
  • 可以有多个数据库,每个数据库都在自己的服务器上
  • 除了“客户端”(通常任意多个)和“服务器”(鉴于前两点已经相当混乱的概念)之外,可能还有第三方服务,例如日志记录或分析,每个服务器都有自己的

已经向我解释过,有必要区分“服务器”作为角色 - 与客户端相关的源和数据处理程序,客户端不必知道其结构(“黑匣子” “ 概念); 并且作为这个非常黑匣子的基础设施。所以,在这个问题上,我对第二个问题更感兴趣。

在此处输入图像描述

那么,接受来自客户端的 HTTP 请求并进行初始处理的带有三个问号的系统元素的名称是什么?我们不能只称它为“服务器”,因为服务器可以随心所欲,并且每个都有自己的角色(处理来自客户端的请求、存储数据、存储文件等)。例如,在创建视频托管时,建议至少提供两台服务器,其中一台将接管仅视频文件的返回。

术语 HTTP 服务器也没有明确地描述这个元素。假设接收来自客户端的请求的同一台服务器与第三方服务(如分析)的服务器交换数据。数据交换的协议是什么?很可能是 HTTP(S)。在问这个问题的时候,我对数据库的了解是肤浅的,但我可以假设与位于不同服务器上的数据库进行数据交换,无论如何,有时也通过 HTTP 协议进行。

但是“后端”可能是指前端另一端的所有东西——处理来自客户端的 HTTP 请求的同一个黑盒子,但前端开发人员可能事先不知道其结构。如果是这样,那么“支持”也不会是您问题的答案。

我还想指出当他们说“无服务器应用程序”时造成的混乱。实际上,它们意味着您不必自己编写服务器代码,而是提供了一个由服务所有者提供的具有完善逻辑的现成服务器(如果我错了,请纠正我)。

我真的很想使用 Java 引入的“servlet”这个词,但就我输入的模糊规范定义而言,这个词很可能并不代表我的意思。此外,该元素接受来自客户端的不同请求,与电子总线的概念有点相关。

веб-программирование
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Best Answer
    Давид Манжула
    2022-08-04T03:16:46Z2022-08-04T03:16:46Z

    这样的服务器似乎被称为前端服务器。即作为请求入口点的服务器。它处理 HTTP 请求并将其发送到内部服务器,内部服务器已经可以称为成熟的后端,它们实现了业务逻辑。

    链接到我得出这个结论的来源:关于 VKontakte 架构和工作的常见问题解答

    • 1
  2. Dmitry
    2022-08-02T20:48:59Z2022-08-02T20:48:59Z

    这一切都取决于链中此链接的功能。在我看来,这是干净backend的(服务的软件和硬件部分)。从您的角度来看,这个问题在这里很重要:前端的另一边是什么?前端、服务和基础使用的一些API。那为什么不呢backend?也就是说,一些理解 API 请求的软件,它可以像 HTTP、HTTP(s)、SQL、MQTT 并且知道还有什么。

    关于组织back'a是一个完全不同的问题。因为有足够的技术和协议来对此进行宣传。

    • 0

相关问题

  • 如何等待服务器响应?

  • 怎么做这样的查询?

  • webStorm 无法在 Mac OS 上启动

  • 粘贴在谷歌翻译中的链接到底显示了什么?

  • 带有脚本和运行游戏的服务器

  • 这不是关于代码的问题,它询问您对未来的看法

Sidebar

Stats

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

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 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