目录
1. http 模块概述
2. http 模块的作用
3. http 服务器代码示例
运行代码
4. http 客户端代码示例
运行代码
5. 总结
1. http
模块概述
http
模块是 Node.js 内置的核心模块之一,它用于创建 HTTP 服务器和客户端,支持处理 HTTP 请求和响应。通过 http
模块,我们可以搭建 Web 服务器,接收浏览器或其他客户端的请求,并返回相应的数据。
2. http
模块的作用
- 创建 HTTP 服务器:监听指定端口,处理客户端请求,并返回 HTTP 响应。
- 创建 HTTP 客户端:向其他服务器发送 HTTP 请求并处理响应数据。
- 处理 HTTP 请求:解析请求路径、请求方法、请求头和请求体。
- 发送 HTTP 响应:返回 HTML、JSON、文件等数据给客户端。
3. http
服务器代码示例
文件名:server.js
说明:该代码创建了一个简单的 HTTP 服务器,监听 3000
端口,并根据不同的 URL 返回不同的内容。
// 引入 http 模块
const http = require('http');// 创建 HTTP 服务器
const server = http.createServer((req, res) => {// 设置响应头,指定返回内容类型res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });// 解析请求 URLif (req.url === '/') {res.end('欢迎访问我的 Node.js 服务器!');} else if (req.url === '/about') {res.end('这是关于页面');} else {res.writeHead(404, { 'Content-Type': 'text/plain; charset=utf-8' });res.end('404 页面未找到');}
});// 监听端口号 3000
server.listen(3000, () => {console.log('服务器运行在 http://localhost:3000');
});
运行代码
- 确保已安装 Node.js
- 执行命令启动服务器:
node server.js
- 打开浏览器访问以下地址:
http://localhost:3000/
→ 显示 "欢迎访问我的 Node.js 服务器!"http://localhost:3000/about
→ 显示 "这是关于页面"http://localhost:3000/other
→ 显示 "404 页面未找到"
4. http
客户端代码示例
文件名:client.js
说明:该代码使用 http.request
方法向服务器发送 GET 请求并接收响应数据。
// 引入 http 模块
const http = require('http');// 发送 GET 请求
http.get('http://localhost:3000/', (res) => {let data = '';// 监听数据流res.on('data', chunk => {data += chunk;});// 响应结束后打印数据res.on('end', () => {console.log('服务器响应:', data);});}).on('error', (err) => {console.log('请求出错:', err.message);
});
运行代码
- 确保服务器已运行 (
node server.js
) - 执行命令发送请求:
node client.js
- 终端输出:
服务器响应: 欢迎访问我的 Node.js 服务器!
5. 总结
http
模块是 Node.js 处理 HTTP 请求和响应的核心模块。http.createServer()
方法用于创建 HTTP 服务器。server.listen(port)
让服务器监听指定端口。http.get()
或http.request()
可用于发送 HTTP 请求。
通过 http
模块,我们可以轻松地在 Node.js 中创建 Web 服务器,并与前端或其他服务进行数据交互。