📜  Node.js http.ServerResponse.statusCode 属性(1)

📅  最后修改于: 2023-12-03 15:17:54.734000             🧑  作者: Mango

Node.js http.ServerResponse.statusCode 属性

在Node.js的http服务器中,http.ServerResponse对象是HTTP响应的抽象,它封装了向客户端发送HTTP响应的各种方法和属性。其中,statusCode是其中一个属性,表示HTTP响应的状态码,是一个数值类型(如200、404等)。

用法

statusCode属性通常用于设置HTTP响应的状态码。例如,以下代码示例在发送响应之前,使用statusCode属性将HTTP响应状态码设置为200:

const http = require('http');
const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.end();
});

server.listen(3000, () => {
  console.log('Server started on port 3000');
});

在以上代码中,我们在创建HTTP服务器时设置了一个回调函数。当客户端发起请求时,服务器将响应一个HTTP响应,其中状态码被设置为200。在响应发送后,服务器将调用res.end()方法,以终止响应。

除了使用statusCode属性设置状态码,还可以直接向res.writeHead()方法传递状态码。例如,以下代码片段与上述代码是等价的:

const http = require('http');
const server = http.createServer((req, res) => {
  res.writeHead(200);
  res.end();
});

server.listen(3000, () => {
  console.log('Server started on port 3000');
});

此处使用了res.writeHead()方法向客户端发送响应头信息,该方法的第一个参数是状态码。

常见的状态码

以下是一些常见的状态码:

  • 200 - OK:表示成功的请求。
  • 201 - Created:表示成功的请求并创建了新资源。
  • 204 - No Content:表示成功的请求,但没有响应内容。
  • 301 - Moved Permanently:表示所请求的资源已永久移动到一个新的URL。
  • 304 - Not Modified:表示所请求的资源未修改,通常用于缓存。
  • 400 - Bad Request:表示客户端发送的请求有错误。
  • 401 - Unauthorized:表示客户端需要通过身份验证才能访问资源。
  • 404 - Not Found:表示所请求的资源不存在。
  • 500 - Internal Server Error:表示服务器内部错误。
总结

http.ServerResponse.statusCode属性是Node.js http服务器响应对象的一个常用属性。通过它,我们可以设置HTTP响应的状态码,告知客户端请求结果的成功或失败情况。熟悉常见的状态码,有助于开发人员更好地进行HTTP接口的设计和开发。