基本的 nodejs 服务器设置代码如何工作?
How does the basic nodejs server setup code works?
我目前正在研究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'));
- “createServer()”回调已注册
- “listen()”回调已注册
- “createServer()”运行 - 服务器已创建
- “listen()”运行 - 服务器已启动
- 服务器在事件循环中运行,直到 I/user 退出。
- 当有请求(例如)页面重新加载时),“createServer()”运行。
您的一些解释并不完全是它的工作原理。下面是关于代码工作原理的更详细的总结。
http.createServer(callback)
被调用。
- 这将创建一个 http 服务器对象,并使用该服务器对象配置一个回调,以便在每个新的传入请求上调用。该函数调用的结果是它 return 是一个
server
对象。服务器尚未 运行ning.
server.listen(port, callback)
被调用。
- 这将启动您的服务器,以便它现在接受特定端口上的传入 TCP 连接。当启动服务器的过程完成并且服务器处于活动状态(这是一个异步过程)时,将调用此回调以通知您服务器现已启动并且 运行ning.
- 稍后,当对服务器的传入请求到达时,服务器背后的本机代码将为 nodejs 事件循环创建一个事件以进行调度。当事件循环到达该事件时,它将调用您传递给
http.createServer(callback)
的回调,并将回调可用于响应传入 http 请求的请求和响应对象传递给它。
- 当您从该回调中 return 时,事件循环将能够分派等待 运行 的下一个事件(可以是 nodejs 中的任何类型的事件,另一个 http 请求,计时器、其他网络、磁盘 I/O,等等...)。
我目前正在研究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'));
- “createServer()”回调已注册
- “listen()”回调已注册
- “createServer()”运行 - 服务器已创建
- “listen()”运行 - 服务器已启动
- 服务器在事件循环中运行,直到 I/user 退出。
- 当有请求(例如)页面重新加载时),“createServer()”运行。
您的一些解释并不完全是它的工作原理。下面是关于代码工作原理的更详细的总结。
http.createServer(callback)
被调用。- 这将创建一个 http 服务器对象,并使用该服务器对象配置一个回调,以便在每个新的传入请求上调用。该函数调用的结果是它 return 是一个
server
对象。服务器尚未 运行ning. server.listen(port, callback)
被调用。- 这将启动您的服务器,以便它现在接受特定端口上的传入 TCP 连接。当启动服务器的过程完成并且服务器处于活动状态(这是一个异步过程)时,将调用此回调以通知您服务器现已启动并且 运行ning.
- 稍后,当对服务器的传入请求到达时,服务器背后的本机代码将为 nodejs 事件循环创建一个事件以进行调度。当事件循环到达该事件时,它将调用您传递给
http.createServer(callback)
的回调,并将回调可用于响应传入 http 请求的请求和响应对象传递给它。 - 当您从该回调中 return 时,事件循环将能够分派等待 运行 的下一个事件(可以是 nodejs 中的任何类型的事件,另一个 http 请求,计时器、其他网络、磁盘 I/O,等等...)。