目录
[1. http 模块概述](#1. http 模块概述)
[2. http 模块的作用](#2. http 模块的作用)
[3. http 服务器代码示例](#3. http 服务器代码示例)
[4. http 客户端代码示例](#4. http 客户端代码示例)
[5. 总结](#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 返回不同的内容。
javascript
// 引入 http 模块
const http = require('http');
// 创建 HTTP 服务器
const server = http.createServer((req, res) => {
// 设置响应头,指定返回内容类型
res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
// 解析请求 URL
if (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
-
执行命令启动服务器 :
bashnode server.js
-
打开浏览器访问以下地址 :
http://localhost:3000/
→ 显示 "欢迎访问我的 Node.js 服务器!"http://localhost:3000/about
→ 显示 "这是关于页面"http://localhost:3000/other
→ 显示 "404 页面未找到"
4. http
客户端代码示例
文件名:client.js
说明 :该代码使用 http.request
方法向服务器发送 GET 请求并接收响应数据。
javascript
// 引入 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
) -
执行命令发送请求 :
bashnode client.js
-
终端输出 :
bash服务器响应: 欢迎访问我的 Node.js 服务器!
5. 总结
http
模块是 Node.js 处理 HTTP 请求和响应的核心模块。http.createServer()
方法用于创建 HTTP 服务器。server.listen(port)
让服务器监听指定端口。http.get()
或http.request()
可用于发送 HTTP 请求。
通过 http
模块,我们可以轻松地在 Node.js 中创建 Web 服务器,并与前端或其他服务进行数据交互。