Skip to content

http 模块

简介

http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,可以模拟 Web 服务器,提供 Web 资源服务

创建基本 web 服务器

基本步骤

js
const http = require("http");

// 创建 web 服务器实例
const server = http.createServer();
// 使用server的.on方法,为服务器绑定一个request事件
server.on("request", (req, res) => {
  // 只要客户端请求服务器,就会触发request事件,执行回调
  console.log("someone visit our server");
});

// 调用服务器实例的 .listen() 方法,启动当前的 web 服务器实例
server.listen("8080", () => {
  console.log("server running at http://127.0.0.1");
});

req 请求对象

可以访问与客户端相关的数据或属性

js
server.on("request", (req) => {
  // req.url为客户端请求的url地址(文档好像改成req.path)
  // req.methods是客户端请求的方法
  const str = `request url is ${req.url},request method is ${req.method}`;
});

res 响应对象

可以访问与服务器相关的数据或属性

js
server.on("request", (req, res) => {
  const str = `request url is ${req.url},request method is ${req.method}`;
  // 设置 Content-Type 响应头,可以解决中文乱码的问题
  res.setHeader("Content-Type", "text/html; charset=utf-8");
  // 向客户端发送指定内容,并结束这次请求处理
  res.end(str);
});