跳转到内容

服务端请求边界 ​

这些限制适用于 respire-server serve 的 HTTP 入口。它们约束传输工作,不改变认证或同步语义。

变量默认值用途
RSRS_MAX_BODY_BYTES8,388,608请求体最大大小
RSRS_HEADER_TIMEOUT_MS10,000请求头截止时间
RSRS_BODY_TIMEOUT_MS30,000请求体截止时间
RSRS_CONNECTION_TIMEOUT_MS70,000绝对连接截止时间,包括写入响应
RSRS_MAX_CONNECTIONS64活跃连接及关联数据库任务的最大数量

配置值必须为十进制正整数。配置无效时会在监听前失败;容量和平台边界也会检查。

flowchart LR
  TCP["已接受连接"] --> Capacity["容量许可"]
  Capacity --> Headers["请求头截止时间"]
  Headers --> Body["请求体大小与截止时间"]
  Body --> DB["有界 Postgres 工作线程"]
  DB --> Reply["在连接截止时间内响应"]
输入 / 事件结果
请求体超过限制413;不进入数据库处理
请求体恰好等于限制传输层接受;仍执行正常验证
分块请求体强制限制累计大小
截断或格式错误的请求显式失败,不视为成功的空请求
请求体超过截止时间408 或连接失败
容量耗尽拒绝连接,不进行无界排队
数据库不可用API 报告时为 503,不错误地表示认证失败

连接超时会关闭套接字,不会回滚已经开始的数据库工作。服务端不会自动重放提交结果不确定的请求。

日志 ​

日志包含方法、路径、状态和耗时等有界诊断信息,不包含请求体、授权标头、密码哈希、盐、会话令牌和查询字符串。

这些传输限制不能替代反向代理、部署专用限流或备份流程。参阅服务端和部署。