在Node.js应用中,HTTP状态码是服务器响应HTTP请求时返回的三位数字代码,用于表示请求的处理结果。以下是常见状态码的分类和含义,结合Node.js场景的说明:
Node.js示例:
res.status(201).json({ id: 123 }); // 201 Created
Node.js示例:
res.redirect(301, 'https://new-url.com'); // 301重定向
Node.js示例:
res.status(404).send('Not Found'); // 404错误
Node.js示例:
app.use((err, req, res, next) => {
res.status(500).send('Server Error'); // 500错误处理
});
日志记录
使用morgan
、winston
等中间件记录状态码:
const morgan = require('morgan');
app.use(morgan('dev')); // 输出日志如 "GET / 200 12ms"
错误处理中间件
统一处理4xx/5xx错误:
app.use((req, res) => {
res.status(404).render('404-page');
});
API设计规范
RESTful API应返回明确的状态码和JSON响应:
res.status(400).json({ error: 'Invalid input' });
app.get('/path', handler)
)。express-rate-limit
)。通过状态码可以快速定位问题,结合Node.js的调试工具(如node-inspect
)进一步分析。