如何使用 Node.js 创建一个简单的 HTTP 服务器?

介绍使用 Node.js 的 http 模块创建基本的 HTTP 服务器的方法和步骤,包括设置响应头、处理请求和启动服务。

Node.js 简单 HTTP 服务器 HTTP服务器

要使用 Node.js 创建一个简单的 HTTP 服务器,核心是利用内置的 http 模块定义一个服务器实例、设置请求处理回调函数并监听端口启动服务。基于参考内容,以下是标准步骤:

  1. 导入 http 模块:Node.js 提供了原生 http 模块来处理服务器逻辑,例如 const http = require('http')

  2. 创建服务器实例:调用 http.createServer() 方法创建服务器对象。该方法接受一个回调函数参数,函数包括 request(req)和 response(res)对象来处理客户端请求:
    • req:包含请求数据(如 URL 和 method)
    • res:用于设置响应头和发送内容
  3. 处理请求和响应:在回调函数内:
    • 设置响应头,包括状态码(如 200)和 Content-Type(避免中文乱码时可添加 'charset=utf-8'
    • 使用 res.write() 写入响应体
    • res.end() 结束响应
  4. 监听端口启动服务:调用服务器的 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');
});
  1. 运行并测试:保存为.js文件(如 app.js),在终端执行 node app.js。打开浏览器访问 http://localhost:3000 确认结果,按 CTRL + C 结束服务。如需响应不同 URL 或处理请求细节,参考 修改回调函数逻辑。