http 模块的概念及作用详细介绍

目录

[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');
});

运行代码

  1. 确保已安装 Node.js

  2. 执行命令启动服务器

    bash 复制代码
    node server.js
  3. 打开浏览器访问以下地址

    • 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);
});

运行代码

  1. 确保服务器已运行 (node server.js)

  2. 执行命令发送请求

    bash 复制代码
    node client.js
  3. 终端输出

    bash 复制代码
    服务器响应: 欢迎访问我的 Node.js 服务器!

5. 总结

  • http 模块是 Node.js 处理 HTTP 请求和响应的核心模块。
  • http.createServer() 方法用于创建 HTTP 服务器。
  • server.listen(port) 让服务器监听指定端口。
  • http.get()http.request() 可用于发送 HTTP 请求。

通过 http 模块,我们可以轻松地在 Node.js 中创建 Web 服务器,并与前端或其他服务进行数据交互。

相关推荐
invicinble8 分钟前
前端框架使用vue-cli( 第四层:业务源码层--登陆页相关)
前端·vue.js·前端框架
minji...8 分钟前
Linux 网络基础(三)HTTP的请求方法(GET/POST),HTTP表单、临时和永久重定向状态码、Cookie、查询参数、Web根目录
linux·运维·服务器·网络·c++·http
Rooting++8 分钟前
vue2强制刷新路由的办法
前端·javascript·vue.js
nunumaymax11 分钟前
【第四章-react ajax】
前端·react.js
前端若水11 分钟前
层叠层(@layer):彻底解决优先级战争,告别 !important
前端·css·css3
仅此,12 分钟前
vscode 启动项目时,设置 PYTHONPATH 导包路径
ide·vscode·python·编辑器
invicinble17 分钟前
前端框架使用vue-cli( 第二层:工程配置层--vue语法系列)
前端·vue.js·前端框架
爱滑雪的码农18 分钟前
React+three.js之场景(Scene),相机(Camera)
前端·javascript·react.js
UXbot20 分钟前
AI应用原型平台核心能力:界面自动生成、交互流程编辑、多格式代码导出详解
前端·低代码·交互·软件构建·原型模式·web app
Beginner x_u21 分钟前
MCP 实践 01|从 0 搭建 MCP Server:读取简历与 JD,并用 MCP Inspector 测试
ai·node.js·mcp