nodejs入门教程15:nodejs req

常用属性

  • headers: 一个包含请求头的对象。键是头名称(小写),值是头值。
  • httpVersion: HTTP版本,通常是'1.1''1.0'
  • method: 请求方法,如'GET''POST'等。
  • url: 请求的URL字符串,不包含协议、主机名、端口或查询字符串。
  • rawHeaders: 一个包含原始请求头(未经过键名小写化等处理)的数组。
  • trailers: (在HTTP/1.1分块传输编码的响应中)表示消息尾部的对象,与headers类似。
  • socket: 与请求相关联的net.Socket对象。

常用方法

  • setEncoding([encoding]): 设置用于解码传入数据的编码。默认是null(即Buffer对象)。
  • pause(): 暂停数据接收。
  • resume(): 恢复数据接收。
  • destroy([error]): 销毁消息并结束与之关联的socket。如果提供了error参数,则会触发'error'事件。

监听事件

  • 'data': 当接收到数据时触发。回调函数接收一个Buffer或字符串(取决于setEncoding的设置)。
  • 'end': 当没有更多数据要接收时触发。
  • 'close': 当连接关闭时触发。
  • 'error': 当发生错误时触发。

处理HTTP请求(http.ServerRequest

在处理HTTP请求时,你通常会使用http.createServer方法创建一个HTTP服务器,并在回调函数中处理http.ServerRequest对象(通常简称为req)。

const http = require('http');

const server = http.createServer((req, res) => {
    
    
  // 访问请求头
  console.log(req.headers);

  // 访问请求方法
  console.log(req.method);

  // 访问请求的URL
  console.log(req.url);

  // 设置响应头并发送响应
  res.writeHead(200, {
    
     'Content-Type': 'text/plain' });
  res.end('Hello, world!\n');
});

server.listen(3000, '127.0.0.1', () => {
    
    
  console.log('Server running at http://127.0.0.1:3000/');
});

在上面的例子中,req是一个http.ServerRequest对象,它继承自http.IncomingMessage。你可以通过req访问请求的各种信息,并使用res(一个http.ServerResponse对象)来发送响应。

总结

http.IncomingMessage是Node.js中处理HTTP消息的基础类。在处理HTTP请求时,你通常会与它的子类http.ServerRequest打交道。了解这些类的属性和方法对于编写有效的Node.js HTTP服务器至关重要。

猜你喜欢

转载自blog.csdn.net/gusushantang/article/details/143452667