为什么asp.net需要IIS(Internet信息服务)来运行web服务器?这在nodejs中是如何工作的?

为什么asp.net需要IIS(Internet信息服务)来运行web服务器?这在nodejs中是如何工作的?,asp.net,node.js,webserver,Asp.net,Node.js,Webserver,如果web应用程序是在Asp.net中开发的,则运行web服务器需要IIS 这两者(Asp.net和IIS)如何协同工作?IIS是否接受生成文件并运行服务器 既然web服务器不使用任何其他软件,expressjs(nodejs的框架)是如何运行的?我可以解释node.js方面的内容,希望其他人也能解释IIS/ASP.net方面的内容 js是一个通用Javascript运行时环境。您可以在其中构建各种应用程序,甚至是与web服务器完全无关的应用程序 node.js中的一个内置库恰好是http/ht

如果web应用程序是在
Asp.net
中开发的,则运行web服务器需要
IIS

这两者(Asp.net和IIS)如何协同工作?IIS是否接受生成文件并运行服务器


既然web服务器不使用任何其他软件,expressjs(nodejs的框架)是如何运行的?

我可以解释node.js方面的内容,希望其他人也能解释IIS/ASP.net方面的内容

js是一个通用Javascript运行时环境。您可以在其中构建各种应用程序,甚至是与web服务器完全无关的应用程序

node.js中的一个内置库恰好是http/https服务器。因此,如果您想构建一个node.js驱动的web服务器,只需抓取http服务器对象,创建一个服务器,启动它,然后在请求处理时编程即可

Express是构建在node.js http/https服务器对象之上的web框架。它使用内置服务器并提供一个框架,用于定义请求处理程序、设置路由和中间件,中间件API支持各种第三方库,用于执行各种web服务器类型的操作,如身份验证、加密、压缩、上载、下载、图像处理、,音频处理、视频处理等

node.js与其他许多web服务器框架的区别在于node.js一开始并没有说我只是一个做web服务器工作的工具。它最初是一个通用编程环境,碰巧内置了一个相当好的web服务器,作为一种可以使用的工具。而且,使用内置支持创建和启动自己的web服务器只需几行代码。我大胆猜测,构建web服务器应用程序可能是node.js最流行的方式,但肯定不是唯一的方式

例如,我编写了一个node.js脚本,它可以在我的磁盘驱动器上进行夜间清洁。它会从我的临时目录中删除某些类型的文件。它有助于管理备份文件(仅保留我的Adobe Lightroom目录的最后10个备份)。使用node.js与web服务器完全无关。这只是一个Javascript运行时环境,我碰巧使用其中的文件系统访问库来执行一系列文件管理

例如,下面是在plain node.js中启动基本web服务器的代码:

const http = require('http');
const server = http.createServer(function(req, res) {
    console.log("got a request from", req.url);
    res.end("Hi");
});

// start web server on port 3000
server.listen(3000);