在现代 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、前端与全栈开发实战经验!