什么是像服务器端JavaScript的NodeJS“服务器”?

它不是由客户端机器上的浏览器托pipe的JavaScript引擎吗?

不,不是。

服务器通常有两个含义:

  1. 一种软件,用于侦听networking请求,然后对其进行响应
  2. 运行这种软件的计算机

Node.JS服务器可以是其中之一。

在networking编程中,一个Node.JS服务器取代了Perl,Python,Ruby,PHP,Scala等(和其他语言一样,Node.JS允许您将JavaScript用于非服务器和非Web目的)。

一般来说,服务器本身是直接从节点运行的(例如, 使用这个库 ),而不是像Apache那样embedded到另一个服务器(就像PHP中最常见的那样)。

浏览器根本不需要参与。 如果是,那么它可能是一个充当客户端并向服务器发出请求的人。 也就是说,像PhantomJS这样的工具可以让浏览器从Node(和其他编程语言)驱动。

从这里 :

服务器端JavaScript(SSJS)是指在服务器端运行的JavaScript,因此不会下载到浏览器。 这个术语被用来区别于常用的JavaScript,它主要用在客户端(也被称为客户端JavaScript或CSJS)上。

NodeJS在V8 JavaScript引擎上运行,不必在浏览器中运行。 它只是执行JS。 它不取决于你用它做什么。 在NodeJS服务器的情况下,它监听HTTP请求,因此是服务器。

在这里输入图像描述

node.js是单线程进程并运行事件循环

Node.js是一个框架/程序,安装在一台机器上,包含用JavaScript编写的代码,并处理客户端浏览器所要求的代码。是的,每个浏览器都包含自己的引擎来处理JavaScript。