【问题标题】:Node HTTP server hangs when sending 204 - NO CONTENT response发送 204 时节点 HTTP 服务器挂起 - 无内容响应
【发布时间】:2021-12-24 07:27:53
【问题描述】:
我遇到了一个问题,其中通过我的 NodeJS HTTP 服务器发送带有 204 - NO CONTENT 状态代码的响应会导致响应无限期挂起,从而使发起请求超时。
response.statusCode = 204;
response.write(preparedBody);
response.end();
即使preparedBody 只是空字符串,错误仍然存在。
如何让响应出去?
【问题讨论】:
标签:
node.js
http
http-status-code-204
【解决方案1】:
绝对不能将正文写入响应,甚至是空字符串。
一般来说,状态码 204 表示服务器成功处理了请求,但保证没有响应体,因此没有提供任何响应体。
出于某种原因,NodeJS 似乎严格禁止在响应正文中设置任何带有 204 状态代码的内容,即使设置的正文本身是“无”。
删除违规行:
response.write(preparedBody);
...服务器应该再次开始按预期工作