📜  Node.js http.IncomingMessage.statusCode 方法(1)

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

Node.js http.IncomingMessage.statusCode 方法

当使用 Node.js 来创建 HTTP 服务器时,可以使用 http.IncomingMessage 对象来访问客户端发来的请求信息。statusCode 方法可以用来获取客户端请求的 HTTP 状态码。

语法
incomingMessage.statusCode
描述

statusCode 方法返回整数类型的客户端请求的 HTTP 状态码,如 200(表示成功)、404(表示未找到请求的页面)等等。

以下是一些常见的 HTTP 状态代码及其含义:

  • 200 - 请求成功。常用于GET请求。
  • 201 - 请求成功,同时创建了一个新的资源。
  • 204 - 请求成功,但不返回任何数据。
  • 30x - 重定向。
  • 400 - 客户端发出的请求有误。常用于POST请求。
  • 401 - 请求要求用户的身份认证。
  • 403 - 服务器理解请求客户端的请求,但是拒绝执行此请求。
  • 404 - 请求的资源不存在。
  • 500 - 服务器内部错误,无法完成请求。

通过对 HTTP 状态码的了解,我们可以更好地理解客户端发来的请求并作出相应的响应,提高程序效率和用户体验。

示例

下面的示例演示了如何使用 http.IncomingMessage.statusCode 方法获取客户端请求的 HTTP 状态码并返回相应的响应:

const http = require('http');

const server = http.createServer((req, res) => {
    if (req.url === '/') {
        res.writeHead(200, { 'Content-Type': 'text/html' });
        res.write('Welcome to my website');
    } else if (req.url === '/contact') {
        res.writeHead(200, { 'Content-Type': 'text/html' });
        res.write('Please contact us at contact@mywebsite.com');
    } else {
        res.writeHead(404, { 'Content-Type': 'text/html' });
        res.write('404 Not Found');
    }
    
    res.end();
});

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

该示例通过创建一个 HTTP 服务器,对根据客户端请求的 URL,返回相应的响应。如果客户端请求的是根目录,则返回“Welcome to my website”,如客户端请求的是“/contact”,则返回“Please contact us at contact@mywebsite.com”,否则返回“404 Not Found”,提示页面不存在。在每个响应的开头,都使用 http.IncomingMessage.statusCode 方法设置相应的 HTTP 状态码。