Node.js处理HTTP请求

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

1. 创建HTTP服务器

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


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}/`);
});

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

2. 处理HTTP请求

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

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

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

3. 结束HTTP服务器

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

server.close();

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

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