Node.js 搭建 HTTP 服务器:从零开始的入门实践

55 阅读2分钟

在现代 Web 开发中,Node.js 凭借其非阻塞 I/O 和事件驱动特性,成为构建高性能服务端应用的重要工具。今天,我们就来手把手教你使用 Node.js 内置的 http 模块搭建一个最基础的 HTTP 服务器,快速迈出后端开发的第一步。


🌐 什么是 HTTP 服务器?

HTTP(HyperText Transfer Protocol)是 Web 应用通信的基础协议。当用户在浏览器中访问某个网址时,浏览器会向服务器发送请求,服务器接收请求并返回响应内容。这个过程就是典型的 客户端-服务器(C/S)架构,也常被称为 BS 架构(Browser-Server)。

而在 Node.js 中,我们可以通过内置的 http 模块轻松创建自己的 HTTP 服务器。


🔧 实战:搭建一个简单的 HTTP 服务器

✅ 步骤一:初始化项目

首先确保你已安装 Node.js。然后创建一个新项目目录:

mkdir my-http-server
cd my-http-server
npm init -y

创建一个主入口文件 main.mjs(使用 .mjs 表示启用 ES6 模块语法)。


✅ 步骤二:编写服务器代码

打开 main.mjs 文件,输入以下代码:

// 导入 Node.js 内置的 http 模块
import http from 'http';

// 创建 HTTP 服务器
http.createServer((req, res) => {
  // req: 请求对象,包含客户端发送的请求信息(如 URL、方法、头等)
  // res: 响应对象,用于向客户端发送响应数据

  console.log(req.url); // 打印请求路径,例如 / 或 /api/user

  // 设置响应头,告诉浏览器返回的是文本类型
  res.writeHead(200, { 'Content-Type': 'text/plain' });

  // 发送响应内容
  res.end('hello world!!!');
}).listen(3000);

console.log('服务器正在运行于 http://localhost:3000');

✅ 步骤三:启动服务器

在终端运行:

node main.mjs

你会看到输出:

服务器正在运行于 http://localhost:3000

此时,打开浏览器访问 http://localhost:3000,你会看到页面显示:

hello world!!!

🎉 恭喜!你已经成功搭建了第一个 Node.js HTTP 服务器!


💡 关键知识点解析

对象说明
http.createServer()创建一个新的 HTTP 服务器实例,接受一个回调函数处理请求
req请求对象,包含 url, method, headers 等信息
res响应对象,用于设置状态码和返回数据
res.writeHead()设置响应头(可选)
res.end()结束响应,发送数据

⚠️ 注意:res.end() 必须调用一次,否则连接不会关闭。


📚 总结

通过本篇文章,你学会了如何使用 Node.js 的 http 模块搭建一个基础 HTTP 服务器。虽然功能简单,但它是理解 Web 服务原理、后续学习更复杂框架的重要起点。

💬 小贴士:永远记住,每一个伟大的 Web 应用都始于一个 hello world


📌 欢迎关注我,持续分享 Node.js、前端与全栈开发实战经验!