Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点如何处理多个用户_Javascript_Node.js - Fatal编程技术网

Javascript 节点如何处理多个用户

Javascript 节点如何处理多个用户,javascript,node.js,Javascript,Node.js,我正在学习node,这可能是一个愚蠢的问题,但node如何处理多个用户。就像两个用户同时发送请求一样,节点会为这两个用户创建单独的实例吗? 假设我正在节点中的某个变量(名称)中存储用户名。那么,如果两个用户都登录,变量(名称)包含什么值?它会创建单独的实例并保留这两个值吗 我不熟悉节点和服务器,所以请用简单的语言回答。 提前感谢客户端(浏览器)用于与节点通信的协议是HTTP HTTP是一种无状态协议,这意味着发送到web服务器的每个请求都必须包含满足请求所需的所有信息。根据后端应用程序的设计方式

我正在学习node,这可能是一个愚蠢的问题,但node如何处理多个用户。就像两个用户同时发送请求一样,节点会为这两个用户创建单独的实例吗? 假设我正在节点中的某个变量(名称)中存储用户名。那么,如果两个用户都登录,变量(名称)包含什么值?它会创建单独的实例并保留这两个值吗

我不熟悉节点和服务器,所以请用简单的语言回答。 提前感谢

客户端(浏览器)用于与节点通信的协议是HTTP

HTTP是一种无状态协议,这意味着发送到web服务器的每个请求都必须包含满足请求所需的所有信息。根据后端应用程序的设计方式,此信息可能包括试图访问服务器的用户的id;可能伴随着访问令牌或密码。然后将由您的服务器验证每个请求的凭据,并以适合用户的方式进行响应


这还有很多,但那是tl;dr.

简单地说,作为单线程的节点同时接收两个请求,但它将分别处理每个请求,并逐个处理

有关节点事件循环的更多信息,请参见SO问题。基本上,仅仅因为Node.js本身是单线程的,这并不意味着它不使用多个后台线程来执行异步操作。也就是说,事件循环在单个线程上运行,但大多数I/O都发生在单独的线程上,并且在可能的情况下,许多工作负载都被卸载到内核中。