Node.js http模块实战:Web服务器与客户端搭建指南

作者:星河

时间:2026-10-23

浏览:429

本文详细介绍Node.js中http模块的核心用法,涵盖如何搭建Web服务器及创建HTTP客户端。通过提供server.js、index.html和client.js的完整代码示例,演示从服务器监听端口、解析请求、读取文件到客户端发送请求并接收响应的全过程,帮助开发者快速掌握Node.js网络编程基础。

文章目录

Node.js http模块概述

本文通过具体实例解析Node.js中http模块的使用方法,供读者参考学习。

Node.js内置了http模块,开发者可利用该模块构建HTTP服务端与客户端应用。

搭建Web服务器

搭建Web服务器


/**
 * node-http 服务端
 */
let http = require('http');
let url = require('url');
let fs = require('fs');
// 创建服务器
let server = http.createServer((req, res) => {
  // 解析请求
  let pathname = url.parse(req.url).pathname; // 形如`/index.html`
  console.log('收到对文件 ' + pathname + '的请求');
  // 读取文件内容
  fs.readFile(pathname.substr(1), (err, data) => {
    if (err) {
      console.log('文件读取失败:' + err);
      // 设置404响应
      res.writeHead(404, {
        'Content-Type': 'text/html'
      });
    }
    else {
      // 状态码:200
      res.writeHead(200, {
        'Content-Type': 'text/html'
      });
      // 响应文件内容
      res.write(data.toString());
    }
    // 发送响应
    res.end();
  });
});
server.listen(8081);
console.log('服务运行在:http://localhost:8081,请访问:http://localhost:8081/index.html');

准备index.html文件


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Node http</title>
</head>
<body>
  <h1>Hi~</h1>
</body>
</html>

执行server.js脚本启动服务,随后在浏览器中访问对应地址即可。

构建HTTP客户端

构建HTTP客户端

编写client.js脚本


/**
 * node http 创建客户端
 */
let http = require('http');
// 请求选项
let options = {
  host: 'localhost',
  port: '8081',
  path: '/index.html'
};
// 处理响应的回调函数
let callback = (res) => {
  // 不断更新数据
  let body = '';
  res.on('data', (data) => {
    body += data;
  });
  res.on('end', () => {
    console.log('数据接收完成');
    console.log(body);
  });
}
// 向服务端发送请求
let req = http.request(options, callback);
req.end();

先运行server.js启动服务端,接着执行client.js发起请求。

希望上述内容能为Node.js程序设计提供有益参考。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章