Node.js 面试题
目录

如何使用 http 模块处理 GET 和 POST 请求?

· 约 3 分钟读完 · 第 44 / 377 章

推荐答案

本题详细解读

1. 引入必要的模块

  • http 模块用于创建HTTP服务器。
  • url 模块用于解析URL。
  • querystring 模块用于解析POST请求的请求体。

2. 创建HTTP服务器

  • 使用 http.createServer() 方法创建一个HTTP服务器实例。
  • 回调函数接收 req(请求对象)和 res(响应对象)两个参数。

3. 处理GET请求

  • 通过 req.method 判断请求方法是否为 GET。
  • 使用 url.parse() 方法解析请求的URL,获取查询参数。
  • 将查询参数通过 res.end() 方法返回给客户端。

4. 处理POST请求

  • 通过 req.method 判断请求方法是否为 POST。
  • 使用 req.on('data') 事件监听器收集请求体数据。
  • 使用 req.on('end') 事件监听器在请求体数据接收完毕后,解析请求体数据。
  • 将解析后的POST请求参数通过 res.end() 方法返回给客户端。

5. 处理其他请求方法

  • 如果请求方法不是 GET 或 POST,返回 405 Method Not Allowed 状态码。

6. 启动服务器

  • 使用 server.listen() 方法启动服务器,监听指定端口(如3000)。