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

Javascript 关于web应用程序如何工作以及服务器客户端如何实现的问题,javascript,node.js,web-development-server,conceptual,Javascript,Node.js,Web Development Server,Conceptual,这是一个奇怪的问题,我想问,但我已经浏览了一段时间,无法找到一个明确的答案 我知道客户机连接到自己的服务器,并通过套接字与web服务器通信,我看到了如何在php中工作(我从未使用过php,但以前使用过套接字,所以我理解这个概念)。 问题是我正试图了解这一点。 问题是,网站是否通常使用套接字并联系web服务器获取数据或实际的html?或者在某些地区这是一个罕见的选择 如果它被普遍使用,那么“真正的”js通常在服务器中吗?还是客户端(为了性能) 上下文: 让我解释一下我来自哪里,我不是网络专家,但我

这是一个奇怪的问题,我想问,但我已经浏览了一段时间,无法找到一个明确的答案

我知道客户机连接到自己的服务器,并通过套接字与web服务器通信,我看到了如何在php中工作(我从未使用过php,但以前使用过套接字,所以我理解这个概念)。 问题是我正试图了解这一点。 问题是,网站是否通常使用套接字并联系web服务器获取数据或实际的html?或者在某些地区这是一个罕见的选择

如果它被普遍使用,那么“真正的”js通常在服务器中吗?还是客户端(为了性能)

上下文:

让我解释一下我来自哪里,我不是网络专家,但我是计算机工程专业的学生,所以大多数概念都很容易理解。对这一点有一个“真实的”-呃观点将非常有帮助

现在,看看我为什么问这个问题。作为项目的一部分,我正在开发一个web应用程序,在这方面已经取得了相当大的进展,但所有的工作都是在本地开发服务器上完成的(所以基本上是客户端?) 我开始想知道这一点,因为我想为我的网站使用一个数据库,因为我想连接到某个东西,我需要先连接到一个web服务器(为了安全起见)。 我的问题旨在指导我如何设置此服务器,最重要的是,在何处设置此服务器


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

这里有很多需要解包的内容

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

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

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

您的网站或web应用程序通过各种方式与服务器通信。最常见的是HTTP协议,用于发出服务器请求,如数据请求,以填充页面(对于API服务器,REST或其他),或仅请求在浏览器中显示实际页面。HTTP协议的工作原理是解析url,并使用特殊方法(如GETPOSTDELETE)向注册到此url的服务器发出请求

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

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

端口如1234或3306通常用于本地开发,但是一旦您将项目移动到主机服务,这通常会被URL所取代。主机服务将为您提供访问相关数据库的配置。或者,如果您正在构建自己的服务器,您可能仍然使用端口。它严重依赖于您的服务器配置


希望这能澄清一些问题。

这里有很多东西需要整理

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

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

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

您的网站或web应用程序通过各种方式与服务器通信。最常见的是HTTP协议,用于发出服务器请求,如数据请求,以填充页面(对于API服务器,REST或其他),或仅请求在浏览器中显示实际页面。HTTP协议的工作原理是解析url,并使用特殊方法(如GETPOSTDELETE)向注册到此url的服务器发出请求

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

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

端口如1234或3306通常用于本地开发,但是一旦您将项目移动到主机服务,这通常会被URL所取代