asp.net - 为什么 asp.net 需要 IIS(Internet Information Services)来运行 Web 服务器?这在nodejs中如何工作?
问题描述
如果在 中开发 Web 应用程序Asp.net
,IIS
则需要运行 Web 服务器。
怎么这些two(Asp.net and IIS) works together
?IIS 是否获取构建文件并运行服务器?
expressjs
(nodejs 的框架)如何运行 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 支持各种 3rd 方库来执行各种 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);
推荐阅读
- python - ImportError: libffi.so.6: cannot open shared object file: No such file or directory
- node.js - can a net::ERR_FAILED cause cors 'access-control-allow-origin' errors?
- excel - Time transform in Excel to show midnight as 12:00:00 AM
- c# - Multiple RabbitMQ Consumers DotNet Core
- sql - 在 PostgreSQL 中使用循环创建动态临时表
- python - Sympy fails parsing "01"
- google-cloud-platform - How to change Run IDs for DAG executions triggered via REST API of Airflow?
- c# - c# Synchronise asynchronous messages processing - TPL Dataflow pipelines
- python - 如何使用 while 循环检查索引是否在从购物车中删除商品的列表范围内?
- python - 展平包含具有多个字典的列表的数据框