Node.js 处理 HTTP 请求

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的 HTTP 模块可以用来创建 HTTP 服务器,可以用来处理各种 HTTP 请求。

1. 创建 HTTP 服务器

Node.js 可以使用 HTTP 模块来创建 HTTP 服务器,以便处理 HTTP 请求。创建 HTTP 服务器的步骤如下:

12345
const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
JavaScript

在上面的代码中,我们首先使用 require() 函数加载 http 模块,然后创建一个 http 服务器,并将其绑定到指定的主机和端口上。最后,我们使用 listen() 函数来启动服务器监听特定的端口。

2. 处理 HTTP 请求

一旦创建了 HTTP 服务器,就可以处理 HTTP 请求了。Node.js 提供了一个 request 事件,当有 HTTP 请求发生时会触发该事件,然后可以使用回调函数来处理请求:

12345server.on('request', (req, res) => {
  console.log(`${req.method} ${req.url}`);
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
});
JavaScript

在上面的代码中,我们使用 on() 函数为 request 事件注册了一个回调函数,当有 HTTP 请求发生时,就会调用该回调函数,该函数可以获取 HTTP 请求的信息,然后根据需求处理请求,最后返回响应给客户端。

3. 结束 HTTP 服务器

当 HTTP 服务器不再需要时,可以使用 close() 函数来关闭服务器:

1server.close();
JavaScript

在上面的代码中,我们使用 close() 函数关闭了 HTTP 服务器。一旦服务器关闭,就不能再处理 HTTP 请求了。

总之,Node.js 可以使用 HTTP 模块来处理 HTTP 请求,可以使用 createServer() 函数创建 HTTP 服务器,然后使用 on() 函数来处理 HTTP 请求,最后使用 close() 函数来关闭服务器。