繁体   English   中英

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

[英]Why asp.net needs IIS(Internet Information Services) to run web server? How this works in nodejs?

如果在Asp.net开发了Web应用程序,则需要IIS来运行Web服务器。

two(Asp.net and IIS) works together如何two(Asp.net and IIS) works together IIS是否获取构建文件并运行服务器?

expressjsexpressjs的框架)如何在不使用任何其他软件的情况下运行Web服务器?

我可以解释一下node.js方面,希望其他人也可以解释一下IIS / ASP.net方面。

Node.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运行时环境,我碰巧要使用其中的文件系统访问库来进行大量文件管理。

例如,以下代码在纯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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM