首页 > 解决方案 > 发送 204 时节点 HTTP 服务器挂起 - 无内容响应

问题描述

我遇到了一个问题,其中通过我的 NodeJS HTTP 服务器发送带有 204 - NO CONTENT 状态代码的响应会导致响应无限期挂起,从而使发起请求超时。

response.statusCode = 204;
response.write(preparedBody);
response.end();

即使preparedBody只是空字符串,错误仍然会发生。

我如何得到响应出去?

标签: node.jshttphttp-status-code-204

解决方案


绝对没有正文可以写入响应,甚至是空字符串。

一般来说,状态码 204 表示服务器成功处理了请求,但保证没有响应体,因此没有提供任何响应体。

出于某种原因,NodeJS 似乎严格禁止使用 204 状态代码在响应正文中设置任何内容,即使设置的正文本身是“无”。

删除违规行:

response.write(preparedBody);

...并且服务器应该再次开始按预期工作


推荐阅读