如何使用 Node.js 创建一个简单的 HTTP 服务器?
介绍使用 Node.js 的 http 模块创建基本的 HTTP 服务器的方法和步骤,包括设置响应头、处理请求和启动服务。
要使用 Node.js 创建一个简单的 HTTP 服务器,核心是利用内置的 http 模块定义一个服务器实例、设置请求处理回调函数并监听端口启动服务。基于参考内容,以下是标准步骤:
-
导入 http 模块:Node.js 提供了原生 http 模块来处理服务器逻辑,例如
const http = require('http')
。 - 创建服务器实例:调用
http.createServer()
方法创建服务器对象。该方法接受一个回调函数参数,函数包括request
(req)和response
(res)对象来处理客户端请求:req
:包含请求数据(如 URL 和 method)res
:用于设置响应头和发送内容
- 处理请求和响应:在回调函数内:
- 设置响应头,包括状态码(如 200)和
Content-Type
(避免中文乱码时可添加'charset=utf-8'
) - 使用
res.write()
写入响应体 - 以
res.end()
结束响应
- 设置响应头,包括状态码(如 200)和
- 监听端口启动服务:调用服务器的
listen(port, () => {...})
方法指定端口(例如 3000),启动后输出日志确认服务运行。
完整示例代码如下:
// 导入 http 模块
const http = require('http');
// 创建 HTTP 服务器
const server = http.createServer((req, res) => {
// 设置响应头和状态码
res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
// 写入响应内容(替换为自己的文本)
res.write('Hello, World!');
// 结束并发送响应
res.end();
});
// 监听端口 3000,输出日志
server.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000');
});
- 运行并测试:保存为.js文件(如 app.js),在终端执行
node app.js
。打开浏览器访问http://localhost:3000
确认结果,按 CTRL + C 结束服务。如需响应不同 URL 或处理请求细节,参考 修改回调函数逻辑。