首页主机资讯Debian Node.js日志中HTTP状态码含义

Debian Node.js日志中HTTP状态码含义

时间2025-12-16 19:15:03发布访客分类主机资讯浏览1048
导读:Debian 上运行的 Node.js 服务日志中,HTTP 状态码用于指示请求在客户端与服务器之间的处理结果。状态码为三位数字,按首位划分为 1xx–5xx 五类,含义固定且与语言/框架无关。 状态码分类概览 1xx 信息性:请求已被接...

Debian 上运行的 Node.js 服务日志中,HTTP 状态码用于指示请求在客户端与服务器之间的处理结果。状态码为三位数字,按首位划分为 1xx–5xx 五类,含义固定且与语言/框架无关。

状态码分类概览

  • 1xx 信息性:请求已被接收,继续处理(如:100 Continue101 Switching Protocols)。
  • 2xx 成功:请求已成功接收、理解并处理(如:200 OK201 Created204 No Content)。
  • 3xx 重定向:需要额外操作以完成请求(如:301 Moved Permanently302 Found304 Not Modified)。
  • 4xx 客户端错误:请求存在语法错误或无法完成(如:400 Bad Request401 Unauthorized403 Forbidden404 Not Found405 Method Not Allowed)。
  • 5xx 服务器错误:服务器处理请求时发生错误(如:500 Internal Server Error502 Bad Gateway503 Service Unavailable504 Gateway Timeout)。

常见状态码与排查要点

状态码 含义 常见触发 排查要点
200 OK 正常请求成功 正常业务路径
201 Created POST/PUT 创建资源成功 检查创建结果是否落库
204 No Content 成功但无响应体 确认客户端是否预期无内容
301 Moved Permanently 资源永久迁移 更新站点地图与反向代理配置
302 Found 临时跳转 检查登录/地域跳转逻辑
304 Not Modified 协商缓存命中 核对 ETag/Last-Modified 与缓存策略
400 Bad Request 参数缺失/格式错误 校验请求体/查询参数/Content-Type
401 Unauthorized 未认证或凭证无效 检查 Authorization 头与认证中间件
403 Forbidden 权限不足 核对访问控制与角色授权
404 Not Found 路由或资源不存在 检查路由表与静态资源路径
405 Method Not Allowed 方法不被允许 核对路由允许的 GET/POST/PUT/DELETE
408 Request Timeout 客户端请求超时 检查客户端超时设置与网络质量
413 Payload Too Large 请求体过大 调整 body-parser/反向代理体积限制
414 URI Too Long URL 过长 缩短查询串或改用 POST
415 Unsupported Media Type 不支持的媒体类型 设置正确的 Content-Type(如 application/json
500 Internal Server Error 未捕获异常/代码错误 查看堆栈与异常日志,补齐 try/catch 与中间件错误处理
502 Bad Gateway 网关/上游无效响应 检查 Nginx/负载均衡 与上游健康
503 Service Unavailable 过载/维护 检查进程存活、限流/熔断与维护页
504 Gateway Timeout 网关/上游超时 调整反向代理与上游超时阈值
以上状态码定义与常见触发场景适用于 Node.js(含 Express) 应用,在 Debian 环境下通过 Nginx/PM2/系统日志 观察时含义一致。

在 Node.js 与 Express 中设置与记录

  • 设置状态码(原生 http 模块):
    const http = require('http');
        
    const server = http.createServer((req, res) =>
     {
    
      res.writeHead(200, {
     'Content-Type': 'text/plain' }
        );
        
      res.end('OK');
    
    }
        );
        
    server.listen(3000, () =>
         console.log('Server on 3000'));
        
    
  • 设置状态码(Express):
    app.get('/ok', (req, res) =>
         res.status(200).send('OK'));
        
    app.get('/created', (req, res) =>
     res.status(201).json({
     id: 1 }
        ));
        
    app.use((err, req, res, next) =>
     {
        
      console.error(err);
         // 便于 Debian 系统日志/服务日志排查
      res.status(500).send('Internal Server Error');
    
    }
        );
        
    
  • 日志建议:在 Nginx 记录响应码(如:access_log /var/log/nginx/access.log; ),在 Node.js 统一使用 Morgan 或自定义中间件输出 statusCode、method、url、responseTime、ip,便于在 journald/syslog 中检索与告警。

Debian 环境排查要点

  • 定位进程与日志:确认服务由 PM2/Node/npm 启动,查看 journalctl -u your-service/var/log/…;Nginx 访问与错误日志分别位于 /var/log/nginx/access.logerror.log
  • 区分 4xx 与 5xx:大量 4xx 多为客户端/路由问题;持续 5xx 需优先排查未捕获异常、依赖服务不可用、资源耗尽(CPU/内存/句柄/连接)。
  • 网关链路:若经 Nginx/负载均衡,出现 502/504 优先检查上游进程存活、超时与反向代理配置;503 常见于进程崩溃或维护模式。
  • 缓存与重定向:304 属正常命中;301/302 需核对 SEO 与跳转目标是否正确配置。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian Node.js日志中HTTP状态码含义
本文地址: https://pptw.com/jishu/773100.html
Debian Node.js日志中错误堆栈信息解读 Linux服务器上Laravel如何部署应用

游客 回复需填写必要信息