javascript - 关于Web应用程序如何工作以及服务器客户端如何实现的问题

标签 javascript node.js web-development-server conceptual

我想问这是一个奇怪的问题,但我过去浏览了一段时间,但找不到明确的答案。

我知道客户端连接到自己的服务器并通过套接字与网络服务器进行通信,我有点了解它在 php 中是如何工作的(我从未使用过 php,但以前使用过套接字,所以我理解这个概念)。 问题是我正在尝试真正了解这一点。 问题是,网站通常使用套接字并联系网络服务器来获取数据或实际的 html 吗?还是在某些领域这是一个罕见的选择?

如果普遍使用的话,那么“真正的”js通常是在服务器中吗?或者是客户端(出于性能考虑)?

上下文:

让我解释一下我的来源,我不是网络专家,但我是计算机工程专业的学生,​​所以大多数概念都很容易理解。对此的“真实”看法将非常有帮助。

现在,谈谈我为什么要问这个问题。我正在开发一个网络应用程序作为项目的一部分,并且已经取得了相当大的进展,但一切都是在本地开发服务器上完成的(所以基本上是客户端?) 我开始想知道这个问题,因为我想为我的网站使用数据库,并且因为我想连接到某些东西,所以我需要首先连接到网络服务器(出于安全考虑)。 我的问题的目的是指导我如何以及最重要的是在哪里设置此服务器。

我认为显示任何代码在这里没有帮助,但假设我的客户端在 localhost:1234 上运行,我的数据库在 localhost:3306 上运行,我认为我应该在另一个端口上有一个网络服务器,所以我可以建立这种通信,但我想以一种干净合法的方式进行,这样我当前的所有解决方案都可以在线移植,几乎不需要任何更改(除了明显的更改)

最佳答案

这里有很多东西需要解压。

首先,服务器可以是远程本地。通常它们是远程的,本地服务器主要用于开发目的。

即使您的服务器位于本地计算机上,它仍然不是客户端。客户端是连接到服务器的部分。对于 Web 开发,通常是用户浏览器。

Javascript 是一种可以在服务器端使用 NodeJS 服务器的语言,但更常见的是在用户浏览器中的客户端使用。

您的网站或网络应用程序通过各种方式与您的服务器进行通信。最常见的一种是 HTTP 协议(protocol),用于发出服务器请求,例如填充页面的数据请求(如果是 API 服务器,REST 或其他),或者简单地请求在浏览器中显示实际页面。 HTTP 协议(protocol)的工作原理是解析 URL,并使用特殊方法(例如 GETPOSTDELETE)向注册到该 URL 的服务器发出请求,等等...

套接字用于创建与服务器的双向持久连接。它主要用于实时更新,例如实时聊天,因为它允许您从服务器推送更新,而不是让客户端请求所有内容。

在大多数情况下,数据库可以在与服务网站或应用程序的服务器相同的服务器上找到,因为它更容易处理,并且通常更快,而无需额外的网络请求来获取数据。然而,它可以放置在另一台服务器上,用它自己的 API 来获取数据(不一定与网络相关)

端口(例如 12343306)通常用于本地开发,但是一旦您将项目移动到主机服务,这就是通常替换为 url。主机服务将为您提供访问关联数据库的配置。或者,如果您正在构建自己的服务器,您可能仍然使用端口。它在很大程度上取决于您的服务器配置。

希望这能澄清一些事情。

关于javascript - 关于Web应用程序如何工作以及服务器客户端如何实现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57304511/

相关文章:

C++网页开发

javascript - 使用 React 查询小型天气应用程序的字符串

javascript - 如何在 AngularJS ng-repeat 中对 Json 数组值求和

javascript - 当调用和应用不绑定(bind)工作时,为什么要绑定(bind)工作?

javascript - 如果值为空或 0,如何更改 html select 标签的边框颜色

node.js - 从数据库填充导航栏数据

node.js - 运行简单 nodejs 脚本的无效 ELF header

javascript - 添加合格的 XML 元素不会继承命名空间 URI

python - 在 Linux 服务器上运行 flask 应用程序时连接失败

javascript - 如果 Google Ajax API 不可用(因为 Google 不允许在本地安装它),最好的回退是什么?