nodejs服务器的基本设置代码是如何工作的



我目前正在学习node.js,希望确保我理解下面的代码。该代码是关于仅使用node.js.设置服务器的

const http = require('http');
// create the server
const server = http.createServer((req, res) => {
// check request from a client
if (req.url === '/') {
// response to the client
res.end('welcome to my home page');
} else {
res.end(`<h1>Page Not Found</h1>`);
}
});
// start the server
server.listen(5000, () => console.log('server listening on port 5000'));
  1. "createServer(("回调已注册
  2. "listen(("回调已注册
  3. "createServer(("runs-服务器已创建
  4. "listen(("runs-服务器已启动
  • 服务器在事件循环中运行,直到I/user退出
  1. 当存在请求(例如(页面重新加载(时;createServer(("跑步

您的一些解释并不完全是如何工作的。以下是对代码工作方式的更详细的总结。

  1. http.createServer(callback)被调用
  2. 这将创建一个http服务器对象,并使用该服务器对象配置在每个新传入请求上调用的回调。该函数调用的结果是返回一个server对象。服务器尚未运行
  3. 调用CCD_ 3
  4. 这会启动您的服务器,以便它现在接受特定端口上的传入TCP连接。当启动服务器的过程完成并且服务器处于活动状态(这是一个异步过程(时,会调用此回调来通知您服务器现在已启动并运行
  5. 稍后,当到达服务器的传入请求时,服务器后面的本地代码将为nodejs事件循环创建一个事件以进行调度。当事件循环到达该事件时,它将调用您传递给http.createServer(callback)的回调,并将回调可以用来响应传入http请求的请求和响应对象传递给它
  6. 当您从回调返回时,事件循环将能够调度下一个等待运行的事件(可以是nodejs中的任何类型的事件、另一个http请求、计时器、其他网络、磁盘I/O等(

最新更新